- 有了准备知识,我们就可以在 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')