正则表达式的元字符
"\":反斜杠用于注释元字符,后面也可以加不同的字符表示特殊的含义。
“\b”:匹配的是开头和结尾
".":匹配除了换行符之外的所有字符
"\d":匹配任何十进制数,类似于[0-9]
"\s":匹配任何的空白字符,包括空格,tab,换行符等
"\w":匹配任何字母、数字、下划线或汉字
"^":匹配字符串的开始
"$":匹配字符串的结束
反义元字符
"\W"、"\S"、"\D"、"\B":这些和上面的元字符小写成对应的反义关系。
"[^abc]":匹配除了abc以外的任意字符
匹配次数的控制
"*":代表前面的内容可以任意次的被匹配
"+":匹配重复一次或更多次
"?":重复零次或一次
"{n}":重复n次
"{n,}":重复n次或更多次
"{n,m}":重复n到m次
在python里使用正则模块re来处理正则表达式:一般先生成pattern = re.compile(r'\d+'),然后用re提供的执行匹配函数进行匹配。
· re.match(pattern,string):只从字符串的开始位置匹配,开始位置不存在返回错误。
re.search(pattern,string):会从整个字符的任意位置开始匹配。
如果match(),search()没有匹配到符合的子串,会返回None;如果匹配到,就会返回一个"MatchObject"实例。
关于"MatchObject"的相关方法:group()是返回匹配到的字符串,start()是返回匹配开始的位置,end()是返回匹配结束的位置,span()是返回一个元组(包含匹配开始结束的位置)。
re.findall(pattern,string):发现所有匹配的子串,并把它们作为一个列表返回。
re.finditer(pattern,string):发现所有匹配的子串,并把它们作为一个迭代器返回。