import re
1、从字符串的起始位置匹配a,没有返回None.
re.match('a', 'abc', flags=0)
2、扫描整个字符串并返回第一个成功的匹配,没有返回None
re.search('a', 'bacs', flags=0)
re.search('a', 'gha', flags=0) .span()返回索引(2,3)
import re
a='adfhf1425354647!@#$%^&bhsdassdh$%^&12.4.4.6hffh'
b=re.match('adf',a,flags=0)
输出:
adf
fhf
(2, 3)
[Finished in 174ms]
3、替换字符串中的匹配项
re.sub(pattern, repl, string, count=0, flags=0)
repl : 替换的字符串,也可为一个函数。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。)
import re
print(re.sub('a', 'A', 'dfggakda', count=0, flags=0))
输出:
dfggAkdA
[Finished in 203ms]
4、re.compile(pattern[, flags])
import re
pattern=re.compile(r'\d+')
print(pattern.search('dhfdj454jfnfjfgnj456nj34556njdnjdnsksd22').group())
输出:
454
[Finished in 181ms]
5、在字符串中找到正则表达式所匹配的所有子串,并返回一个列表
findall(string[, pos[, endpos]])
example1:
print(pattern.findall('dhfdj454jfnfjfgnj456nj34556njdnjdnsksd22'))
返回
['454', '456', '34556', '22']
[Finished in 216ms]
example2:
import re
print(re.findall(r'(\d+).(\d+).(\d+).(\d+)','fdgdfhhg12.3.5.65fjfjfj10rjrj23.3.12.5kfkk34.5.6.5.5'))
输出:
[('12', '3', '5', '65'), ('23', '3', '12', '5'), ('34', '5', '6', '5')]
[Finished in 222ms]
网友评论