1.特殊字符
1.非贪婪模式:
import reline="booooooooobby123"regex_str=".*?(b.*?b).*"match_obj=re.match(regex_str,line)if match_obj: print(match_obj.group(1))
2.[]的三种用法
1)[abcd]ooby123--任何一个
2)[0-9]--区间
3)[^1]--非
中括号里面的字符不再有特殊意义
import reline="18sssssss22"regex_str="(1[48357][^1]{9})"match_obj=re.match(regex_str,line)if match_obj: print(match_obj.group(1))
3.\s \S \w \W
\s---空格(单个字符)
\S----非空格(单个字符)
\w---[a-zA-Z0-9 _]
\W---非\w即可
4.实例
import re#line="XXX出生于2001年6月1日"# line="XXX出生于2001/6/1"#line="XXX出生于2001-6-1"#line="XXX出生于2001-06-01"line="XXX出生于2001-06"regex_str=".*出生于(\d{4}[年/-]\d{1,2}([月/-]\d{1,2}|[月/-]$|$))"match_obj=re.match(regex_str,line)if match_obj: print(match_obj.group(1))