正则表达式
re模块
import re
match()方法
result = re.match("正则表达式", "要匹配的字符串")
re.match是用来进行正则匹配检查的方法,若字符串匹配正则表达式,则match方法返回匹配对象(macth object),否则返回None(注意不是空字符串"")macth object具有group方法,用来返回字符串的匹配部分。
search()方法
result = re.search("正则表达式", "要匹配的字符串")
search()和match()的区别是:match是从左往右依次匹配所以^要不要都没影响,search是找所有字符串中是否包含要匹配的字符串。如果要从第一个字符串开始找就需要用到^
findall()方法
如果在一堆字符串中匹配到多个一样的值全部以列表的形式返回。search()和match()都只返回第一个匹配到的值
sub()方法
re.sub("被替换的字符串(把什么)","替换后的字符串(替换成什么,可以接收一个函数)", "原始字符串")
贪婪模式非贪婪模式
默认匹配时都是贪婪模式,就是尽可能多的去匹配,只要在匹配字符后面加个?号就可以关闭贪婪模式。即非贪婪模式,尽可能的匹配少的字符
import re
s = 'aa12345ddddd'
# 贪婪
re.match('aa(\d+)', s).group(1)
'12345'
# 非贪婪
re.match('aa(\d+?)', s).group(1)
'1'
参考
python使用正则表达式_python使用正则表达式