Python · 2021年11月18日 0

Python正则表达式总结

  • 匹配任意字符

uls =re.findall(r’_411d39e9802ae4571ae23446263bb6bb-scss”>(.*)<div class=”_5711aa3bb8cc604a63af009da08a1e2t-scss’,txt)

用以上正则匹配一个网页代码,正常都能匹配出,只有个别匹配不上,单独搜索代码中都有,但就是搜索不出来;其实原因很简单.是匹配除回车外的任意字符,也就是单行内任意字符的匹配,如要真正匹配任意字符需要用[.\n]代替.,或者使用[\s\S]、[\d\D]、[\w\W]都等价于任意字符

如果不想用[\s\S]还可以先将txt文本处理一下,替换掉其中的回车if ‘\n’ in txt:txt=txt.replace(‘\n’,”)

\s匹配任意空白字符,等价于 [ \f\n\r\t\v]

\S匹配任意非空字符,等价于[^ \f\n\r\t\v]

\d匹配任意数字,等价于 [0-9].

\D匹配非数字,等价于 [^0-9]

\w匹配任意数字、字母及下划线,等价于[A-Za-z0-9_]

\W匹配非数字、字母及下划线,等价于[A-Za-z0-9_]

[ -~]匹配所有的英文字母及英文符号