import re
"""re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
"""
m = re.match(r'dog','dog cat dpg')
print(m.group()) # dog
# m = re.match(r'dog','dpg cat dog')
# print(m.group()) # None
"""re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配。
"""
m = re.search(r'dog','dpg cat dog')
print(m.group()) # dog
"""findall
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。"""
print(re.findall(r'dog','dpg cat dog dig dog')) # ['dog', 'dog']
# group()分组
# \w 匹配字母数字及下划线
# re+ 匹配1个或多个的表达式
# \S 匹配任意非空字符
contactInfo = 'Doe, John: 555-1212'
m = re.search(r'(\w+), (\w+): (\S+)', contactInfo)
print(m.group(0)) # Doe, John: 555-1212
print(m.group(1),"..",m.group(2),"..",m.group(3)) # Doe .. John .. 555-1212
# email example
# . 匹配任意字符,除了换行符
# [...] 用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k'
# re+ 匹配1个或多个的表达式。
str = 'purple alice-b@google.com monkey dishwasher'
match = re.search(r'[\w.-]+@[\w.]+',str)
print(match.group()) # alice-b@google.com
正则表达式match、search、findall
最新推荐文章于 2024-01-07 22:18:00 发布