#常用的匹配方式 math()方法import re
content='Hello 123 4567 World_This is a Regex Demo'print(len(content))
result=re.match("^Hello\s\d\d\d\s\d{4}\s\w{10}",content)#^代表匹配字符串的开头,、d表示匹配数字,、s表示匹配空格,、w表示匹配字母及下划线。print(result)print(result.group())#group表示输出匹配到的内容print(result.span())#span表示输出匹配的范围
content1='Hello 1234567 World_This is a Regex Demo'
ab=re.match('^Hello\s(\d+)\sWorld',content1)print(ab)print(ab.group())print(ab.group(1))print(ab.span())#通用匹配import re
content2='Hello 123 4567 World_This is a Regex Demo'
cd=re.match("^Hello.*Demo$",content2)print(cd)print(cd.group())#贪婪匹配与非贪婪匹配import re
content3='Hello 1234567 World_This is a Regex Demo'
ef=re.match('^H.*(\d+).*Demo$',content3)#贪婪匹配
g=re.match('^H.*?(\d+).*Demo$',content3)print(ef)print(ef.group(1))#我们使用(\d+)的本意是想要1234567的全部数字,但是结果输出却只有7#因为.*为贪婪匹配,它会尽可能拿走字符,而只给(\d+)留下刚好能匹配到的数字7print(g)print(g.group(1))#我们使用了.*?就是非贪婪匹配,尽可能少拿字符,所以会将所有数字留给\d+