Python 正则表达式 (附调试工具)

来源:互联网 发布:java选择题题库 编辑:程序博客网 时间:2024/05/14 05:00

首先得了解基本的表达式含义,自己制作了个正则表达式列表。



实例说明:


  将下面的 URI 分解为协议(ftp、http 等等)、域地址和页/路径:

http://www.w3cschool.cc:80/html/html-tutorial.html
  下面的正则表达式提供该功能:

'(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)'
第一个括号子表达式捕获 Web 地址的协议部分。该子表达式匹配在冒号和两个正斜杠前面的任何单词。

第二个括号子表达式捕获地址的域地址部分。子表达式匹配 / 和 : 之外的一个或多个字符。

第三个括号子表达式捕获端口号(如果指定了的话)。该子表达式匹配冒号后面的零个或多个数字。只能重复一次该子表达式。

第四个括号子表达式捕获 Web 地址指定的路径和/或页信息。该子表达式能匹配不包括 # 或空格字符的任何字符序列。


将正则表达式应用到上面的 URI,各子匹配项包含下面的内容:
第一个括号子表达式包含"http"
第二个括号子表达式包含"www.w3cschool.cc"
第三个括号子表达式包含":80"
第四个括号子表达式包含"/html/html-tutorial.html"


正则表达式应用:

1.匹配用户名和密码:"^[a-zA-Z](?![a-zA-Z]+$).{7,15}$"  要求由[A-Z][a-z][0-9]字符等组成,并且第一个字必须为字母,共6~16位;
2.匹配电话号码:"^(?\d{3,4})?-\d{7,8}$"  要求是(xxx/xxxx)-xxxxxxx/xxxxxxxx;
3.匹配手机号码:"^1[3|4|5|7|8][0-9]\d{8}$";要求是13、14、15、17、18开头的手机号码;
4.匹配身份证号(15位或18位数字):"^\d{15}$)|(^\d{17}([0-9]|X|x)$";
5.匹配Email地址:"^(\S+@\S+)$";
6.只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$" ;
7. 验证URL:"^(\w+):\/\/([^/:]+)(\/[^/]+)*$"


正则表达式编写及调试工具

http://www.regexlab.com/download/mtracer/MTracer.zip

0 0
原创粉丝点击