正则表达式
正则表达式
正则表达式是匹配字符串的有效方法,用一种描述性的语言为字符串定义一个规则。
1.正则表达式基础
1.1基本语法
1.2贪婪模式
贪婪模式总是尝试匹配更多的字符,非贪婪模式则是匹配尽可能少的字符,如"ab*"在匹配"abbbbcde"时,在贪婪模式找到"abbbb",非贪婪模式找到"ab"
在python中默认是贪婪模式
2.python中的re模块
2.1一个例子
import re
pattern = re.compile(r"hello") # 编译匹配模式
match = pattern.match("hello cnblogs!") # 无法匹配时返回None
if match:
print("匹配成功")
else:
print("匹配失败")
# 匹配成功
pattern = re.compile(r"\d+")
print(pattern.findall("jhkfa23jjhjka2ll4"))
# 输出['23', '2', '4']
2.2一个练习:验证email地址
import re
re.match(r'^\w*\.?\w*@\w*\.com$',"happy.fan@cnblogs.com")
# 匹配成功
pattern = re.match(r'^(\w*\.?\w*)@(\w*)\.com$', "happy.fan@cnblogs.com")
print(pattern.group(0)) # 返回匹配的完整字符串
print(pattern.group(1)) # 返回第一个括号内匹配的字符串
print(pattern.group(2)) # 返回第二个括号内匹配的字符串
# happy.fan@cnblogs.com
# happy.fan
# cnblogs
3.参考
廖雪峰-正则表达式
https://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html