Python中常用的正则表达式

2023-02-28 00:00:00 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 官方文档。

相关文章