正则表达式 (python 2),正则表达式python,Python提供re
正则表达式 (python 2),正则表达式python,Python提供re
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‘)
正则表达式还有提取子串的功能。用()表示的就是要提取的分组(Group)
^(\d{3})-(\d{3,8})$分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码
>>> m = re.match(r‘^(\d{3})-(\d{3,8})$‘, ‘010-12345‘)
>>> m
<_sre.SRE_Match object; span=(0, 9), match=‘010-12345‘>
>>> m.group(0)
‘010-12345‘
>>> m.group(1)
‘010‘
>>> m.group(2)
‘12345‘
group(0)永远是原始字符串,group(1)、group(2)……表示第1、2、……个子串
>>> t = ‘19:05:30‘
>>> m = re.match(r‘^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$‘, t)
>>> m.groups()
(‘19‘, ‘05‘, ‘30‘)
这个正则表达式可以直接识别合法的时间
正则表达式 (python 2)
相关内容
- python练习册0005,python0005, 第 0005 题:
- python学习笔记——孤儿进程和僵尸进程,python学习笔记
- 用VScode代码调试Python,,Python扩展支持
- python学习笔记,,python变量名里
- Ubuntu-18.04Python2与Python3自由切换,,阅读目录(Conte
- python面试题(转),,1.How are
- python 之Entry,pythonentry,# Tkinter教
- python_WSGI接口,,WSGI:Web S
- python模块介绍- bisect模块维护有序列表,pythonbisect,bis
- python模块学习- textwrap 文本包装和填充,pythontextwrap,行
评论关闭