• 有了准备知识,我们就可以在 Python 中使用正则表达式了。Python 提供 re 模块,包含所有正则表达式的功能。由于Python 的字符串本身也用\转义,所以要特别注意:
s = 'ABC\\-001' # Python 的字符串

# 对应的正则表达式字符串变成:
#'ABC\-001'
  • 因此我们强烈建议使用 Python 的 r 前缀,就不用考虑转义的问题了:
s = r'ABC\-001' # Python 的字符串
# 对应的正则表达式字符串不变:
# 'ABC\-001'
  • 先看看如何判断正则表达式是否匹配:
>>> import re
>>> re.match(r'^\d{3}\-\d{3,8}$', '010-12345')
<_sre.SRE_Match object; span=(0, 9), match='010-12345'>
>>> re.match(r'^\d{3}\-\d{3,8}$', '010 12345')
  • match()方法判断是否匹配,如果匹配成功,返回一个 Match 对象,否则返回 None。常见的判断方法就是:
test = '用户输入的字符串'
if re.match(r'正则表达式', test):
 print('ok')
else:
 print('failed')
zhiufwer 更改标题为「py正则表达式—re模块