Python-正则表达式

来源:互联网 发布:二元相图软件 编辑:程序博客网 时间:2024/06/16 16:29

1:管道符号”|”匹配多个正则表达式
例:
str1 | str2 | str3, “a”|”b”|”c”

2匹配任意一个单个的字符 “.”
例:
b.t 匹配的字符串 bat ,bbt ,bct ,bdt等
.. 任意两个字符
.end 匹配在字符串end前面任意一个字符
注意事项:匹配一个”.”字符,就要前面加上反斜杠”\”进行转义

3从字符串的开头或结尾或单词边界开始匹配
从字符串开头开始匹配,需要使用脱字符号”^”,(没有该字符可以使用”\A”代替),结尾使用”\Z:AccountAccount/del/delho:say 匹配仅由”ho:say”组成的字符串
注意事项:\b ,\B都是用来匹配单词边界的,\b匹配的模式是一定是在一个单词的开头,不论这个单词前面是否有字符,\B只匹配出现在单词中间的模式
\bthe 任何以the开头的字符串
\bthe\b 仅匹配字符串the
\Bthe 任意包含the但是不以the开头的字符串

4创建字符类(“[]”),使用方括号,会匹配里面的任何一个字符
例:
a[dn]d 匹配的字符串:”and”,”add”
[ab][cd][ef][12] 匹配的字符串:”ace1”,”ace2”,”bce1”等

5指定范围(“-“)和否定(“^”)
例:
a.[0-9] 匹配的字符串:”a0”,”a1”,”a3”等
[a-d][ssd-g][us] a到d之间的任意一个字符,加上ss,加上d到g之间的任意一个字符,加上u或 s,”assdu”,”assds”,”dssu”等
[^aeiou] 匹配任意一个非元音的字符
[^\t\n] 匹配除TAB制表符和换行符以外的任意一个字符
[“-a] 匹配ASCII字符集中”到a之间的任意一个字符

6使用闭包操作符(*,+,?,{})实现多次出现/重复匹配
*匹配它左边那个正则表达式出现零次或者零次以上
+匹配它左边那个正则表达式模式至少出现一次
?匹配它左边那个正则表达式模式出现零次或者一次
{M}匹配M次,{M,N}匹配M到N次
例子:
[dn]ot? t出现零次或者一次 ,所以匹配到字符串有:”do”,”no”,”dot”,”not”
[0-9]{15,16} 例如银行卡号

7特殊字符表示,字符集
\d等价于[0-9]
\w表示整个字符数字的字符集,等价于A-Za-z0-9
\s空白符
\D非十进制的字符,等价于[^0-9]
例:
\w+-\d+ 有一个字母或者数字组成的字符串和一个至少一个数字,两部分中间由连字符连接
[A-Za-Z]\w* 第一个字符是字母,其余字符是字母或数字(如果存在的话)
\d{3}-\d{3}-\d{4} 电话号码:400-518-9999
\w+@\w+.com 电子邮箱地址检查

8用圆括号组建组
例:
\d+(.\d*)? 表示简单的浮点型,任意一个十进制数字,后面跟一个可选的小数点,然后再接零或者多个十进 制数字
(Mr?s?. )?[A-Z][a-z]*[A-Za-z-]+ 名字和姓氏,对名字的限制(首字母大写,其他字母(如果存在)小写,全名前有可选的称谓(“Mr”,”Mrs”,”Ms”,”M”)),姓氏没有限制,允许多个单词,横线,大小写字母

原创粉丝点击