>>> import re
>>> s = '23432werwre2342werwrew'
>>> p = r'(\d*)([a-zA-Z]*)'
>>> m = re.match(p,s)
>>> m.group()
'23432werwre'
>>> m.group(0)
'23432werwre'
>>> m.group(1)
'23432'
>>> m.group(2)
'werwre'
>>> m.groups()
('23432', 'werwre')
————————————————
版权声明:本文为CSDN博主「djskl」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/djskl/article/details/4435738
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。
'.' 匹配任意单个字符
'*' 匹配零个或多个前面的那一个元素
所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:
s 可能为空,且只包含从 a-z 的小写字母。
p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。
import re
def isMatch(s,p):
m = re.match(p,s)
if m!=None:
if m.group()==s: #m.group()从第一个字符进行匹配的最长结果
print("true")
else:
print("false")
else:
print("false")
s = "aa"
p = "a"
isMatch(s,p) #false
s = "aa"
p = "a*"
isMatch(s,p) #true
s = "ab"
p = ".*"
isMatch(s,p) #true