Python中常用的正则表达式
以下是常用的正则表达式及其在 Python 中的使用方法:
1、匹配任意字符:
- 匹配任意一个字符,除了换行符
- 例子:re.findall('a.b', 'acb\nadb') 返回 ['acb', 'adb']
2、匹配特定字符:
- [ ] 匹配括号中任意一个字符
- [^ ] 匹配不在括号中的任意一个字符
- 例子:re.findall('a[bcd]e', 'abe ace ade aee') 返回 ['abe', 'ace', 'ade']
3、匹配字符集合:
\d 匹配任意一个数字
\D 匹配任意一个非数字字符
\w 匹配任意一个字母、数字或下划线
\W 匹配任意一个非字母、数字或下划线字符
\s 匹配任意一个空白字符
\S 匹配任意一个非空白字符
例子:re.findall('\d+', 'abc 123 def 456') 返回 ['123', '456']
匹配重复:
- * 匹配前一个字符 0 次或多次
- + 匹配前一个字符 1 次或多次
- ? 匹配前一个字符 0 次或 1 次
- {n} 匹配前一个字符恰好 n 次
- {n,} 匹配前一个字符至少 n 次
- {n,m} 匹配前一个字符至少 n 次、至多 m 次
- 例子:re.findall('a.*b', 'acbd abcd aeb') 返回 ['acbd abcd aeb']
4、匹配位置:
- ^ 匹配字符串的开头
- $ 匹配字符串的结尾
- \b 匹配单词的边界
- 例子:re.findall('^a.*b$', 'acbd abcd aeb') 返回 ['acbd abcd']
5、分组与引用:
- () 将其中的内容视为一个整体,可以在其中使用 | 来表示或关系
- \1、\2 等引用前面用括号分组的内容
- 例子:re.findall('(a|b).*\1', 'aba acc adc') 返回 ['aba']
以上是常用的正则表达式及其在 Python 中的使用方法,更多细节可以参考 Python 官方文档。
相关文章