概述
正则表达式是处理字符串的强大的工具,检索字符串,替换,匹配验证等等。
常用的匹配规则
1 2 3 4 5 6 7 8 9
| \w 匹配字母,数字和下划线 \d 匹配数字 \s 匹配任何空白字符 \z 匹配字符串结尾,如果有换行符,一起匹配 \n 匹配换行 \t 匹配制表符 ^ 匹配开头 $ 匹配结尾 . 匹配任何字符,除了换行符,除非指定re.DOTALL
|
python的re模块
注: .*? 遇到换行符就不管用了,除非加上re.S
match
match 尝试从字符串开头开始匹配正则表达式,如果成功就返回,如果没有就返回一二None
1 2 3 4 5 6 7 8 9 10 11 12 13
| >>> import re >>> a = "Hello World" >>> b = re.match('\w+\s',a,re.S) >>> b <_sre.SRE_Match object; span=(0, 6), match='Hello '> >>> b.span() (0, 6) >>> b.group() 'Hello ' >>> b.group(0) 'Hello '
None 是false
|
search
扫描整个字符串,如果符合就返回,否则返回none
1 2 3 4 5 6 7
| >>> import re >>> a = "Hello World" >>> c = re.search('\s\w+',a) >>> c <_sre.SRE_Match object; span=(5, 11), match=' World'> >>> c.group() ' World'
|
findall
当需要提取全部匹配的内容,需要使用findall,使用search只能取回第一个。如果在匹配的时候用括号指定了,那么返回中的列表就会包含元祖
1 2 3
| >>> d = re.findall(r'He(l)l(o)',a) >>> d [('l', 'o')]
|
sub
替换文本,返回替换好的字符串
1
| re.sub('\s\w+','johnw',a)
|