有关正则表达式的常用符号可以参考https://blog.csdn.net/stickto11_/article/details/105808949
向它传入要匹配的字符串以及正则表达式,就可以检测这个正则表达式是否匹配字符串。
import re
content="Hello 1234567 World_This is a Regex Demo"
result=re.match("^Hello\s(\d+)\sWorld",content)
print(result)
print(result.group())
print(result.group(1))
print(result.span())
#结果如下:
#<_sre .SRE_Match object; span=(O, 19), match =’ Hello 1234567 World ’>
#Hello 1234567 World
#1234567
#(0,19)
import re
content="Hello 1234567 World_This is a Regex Demo"
result1=re.match("^He.*(\d+).*Demo$",content)
result2=re.match("^He.*?(\d+).*Demo$",content)
result3=re.match("^He.*Regex\s(.*?)",content)
result4=re.match("^He.*Regex\s(.*)",content)
print(result1.group(1))
print(result2.group(1))
print(result3.group(1))
print(result4.group(1))
#结果如下
#7
#1234567
#(空)
#Demo
下面的代码会报错:
content='''Hello 1234567 World_This
is a Regex Demo
'''
result=re.match("^He.*?(\d+).*Demo$",content)
print(result.group(1))
原因在于.*不能匹配换行符,修改方法如下:
result=re.match("^He.*?(\d+).*Demo$",content,re.S)