正则表达式

正则表达式

正则表达式是匹配字符串的有效方法,用一种描述性的语言为字符串定义一个规则。

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

posted @ 2020-04-01 23:39  happy_fan  阅读(202)  评论(0编辑  收藏  举报