amojury
import re

#常规匹配
content = \'Hello 1234567 World_This is a Regex Demo\'
#result = re.match(\'^Hello\s\d\d\d\s\d{4}\s\w{10}.*Demo$\',content)
#print(result.group())
#print(result.span())

#泛匹配
#result = re.match("^Hello.*Demo$",content)
#print(result)


#目标匹配
#result = re.match(\'^Hello\s(\d+)\sWorld.*Demo$\',content)
#print(result.group(1))

#贪婪(匹配尽可能多的字符)
#result = re.match(\'^He.*(\d+).*Demo$\',content)

#非贪婪
#result = re.match(\'^He.*?(\d+).*Demo$\',content)
#print(result.group(1))

#匹配模式(存在换行符)
#result = re.match(\'^He.*?(\d+).*Demo$\',content,re.S)

#转义\

#总结:尽量使用泛匹配,使用括号得到匹配目标,尽量使用非贪婪模式,有换行re.S
#re.search()扫描整个字符串并返回第一个匹配,match开头需要一样的
#re.findall(), 返回所有匹配的
#re.sub()替换
#re.compile()编译正则表达式对象

分类:

技术点:

相关文章: