import re
# 匹配:3位数字-3至8位数字
if re.match(r'^\d{3}\-\d{3,8}$', '010-12345'):
print(True) #True
else:
print(False)
# 匹配:3位数字 3至8位数字
if re.match(r'^\d{3}\-\d{3,8}$', '010 12345'):
print(True)
else:
print(False) # False
# 分割符的用法
print('a bc d e f'.split()) # ['a', 'bc', 'd', 'e', 'f']
print('abc d ef'.split(' '))# ['abc', 'd', '', 'ef']
print(re.split(r'\s+', 'a b c'))# ['a', 'b', 'c']
print(re.split(r'[\s\,]+', 'a,b, c d'))# ['a', 'b', 'c', 'd']
print(re.split(r'[\s\,\;]+', 'a,b;; c d'))# ['a', 'b', 'c', 'd']
# ^表示开头, $表示结尾
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345') # 010-12345
print(m.group(0)) # 010-12345
print(m.group(1)) # 010
print(m.group(2)) # 12345
# 匹配时间格式
t = '19:30:05' #00-09或者10-19或者20-23或者0-9
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)
print(m.group(0)) # 19:30:05
# 预编译:(多次用到的正则表达式可采用)
re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')
print(re_telephone.match('010-12345').groups())
# 简单匹配日期格式
print(re.search(r'(\d{4})-(0[0-9]|1[0-2])-(0[0-9]|1[0-9]|2[0-9]|3[0-1])', 'xxxx1990-11-31xxxx').group(0))
# 网上日期和时间格式的例子
print(re.search(r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}', 'xxxx2005-06-04T18:37:11xxxx').group(0))
print(re.search(r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}', 'xxxx2005-06-04T18:37:11.111xxxx').group(0))
pattern=re.compile(r'(\d{4}-\d{2}-\d{2})((T\d{2}:\d{2}:\d{2}|))((.\d{3})|)')
print(pattern.search('xxxx2005-06-04T18:37:11.111xxxx').group(0))
python 正则表达式测试
最新推荐文章于 2023-01-29 12:28:36 发布