一.匹配函数
- re.match(匹配字符段,str)
表示在str中从头开始匹配字符段,并将匹配结果返回 - re.search(匹配字符段,str)
表示在str中遍历所匹配的字符段,一旦找到了一个,即停止遍历,并将匹配结果返回 - re.findall(匹配字符段,str)
表示在str中遍历所匹配的字符段,找到了一个还会继续找下一个,直到所有字符段都被找到为止
二.正则预定义
注意带\ 的在正则表达式中要在前面加一个\ 进行一次转义才能使用,如 \\s 其对应的大写形式代表非空格,非数字…
\s :表示空格\b :表示边界\d :表示数字\w :表示字母数字_
三.定义匹配次数
* :表示前面的字符匹配次数 >=0 次+ :表示前面的字符匹配次数 >=1次? :表示前面的字符匹配次数要不为 0 要不为 1{m} :表示前面的字符匹配次数为m次{m,} :表示前面的字符匹配次数大于等于m次{m,n} :表示前面的字符匹配次数为[m,n]次^ :表示从头开始匹配$ :表示匹配到字符结尾
四.关系
. :表示任意字符[ ] :表示这一个字符匹配对应的字符范围| :或者( ) :表示分组。后面会通过group(序号)来获取对应的组
五.贪婪模式和非贪婪模式
Python里数量词进行字符匹配时默认是贪婪的,总是尝试匹配尽可能多的字符。 非贪婪模式则刚好相反,总是尝试匹配尽可能少的字符。 在* ,? ,+ ,{m,n} ,{m,} 中加上 ? ,就可以把贪婪模式变成非贪婪模式
|