python 正则表达式
目录
讲解
竖线
组
re.match search findall fullmatch
编辑
group groups
编辑
讲解
正则表达式,是一种语法,用来描述你想搜索的字符串的特征。
正则表达式 - 白月黑羽
竖线
特别要注意的是, 竖线在正则表达式的优先级是最低的, 这就意味着,竖线隔开的部分是一个整体
比如 绿色|橙
表示 要匹配是 绿色
或者 橙
,
而不是 绿色
或者 绿橙
组
import re
p = re.compile(r'^(.*),', re.MULTILINE)
for one in p.findall(content):print(one)
"""
苹果
橙子
香蕉
"""
content = '''张三,手机号码15945678901
李四,手机号码13945677701
王二,手机号码13845666901'''import re
p = re.compile(r'^(.+),.+(\d{11})', re.MULTILINE)
for one in p.findall(content):print(one)
"""
('张三', '15945678901')
('李四', '13945677701')
('王二', '13845666901')
"""
import re
p = re.compile(r'^(?P<name>.+),.+(?P<phone>\d{11})', re.MULTILINE)
for match in p.finditer(content):print(match)print(match.group('name'))print(match.group('phone'))
"""
<re.Match object; span=(0, 18), match='张三,手机号码15945678901'>
张三
15945678901
<re.Match object; span=(19, 37), match='李四,手机号码13945677701'>
李四
13945677701
<re.Match object; span=(38, 56), match='王二,手机号码13845666901'>
王二
13845666901
"""
content = '''张三,手机号码15945678901
李四,手机号码13945677701
王二,手机号码13845666901'''import re
p = re.compile(r'^(.+),.+(\d{11})', re.MULTILINE)
for match in p.finditer(content):print(match)print(match.group(1))print(match.group(2))
"""
<re.Match object; span=(0, 18), match='张三,手机号码15945678901'>
张三
15945678901
<re.Match object; span=(19, 37), match='李四,手机号码13945677701'>
李四
13945677701
<re.Match object; span=(38, 56), match='王二,手机号码13845666901'>
王二
13845666901
"""
re.match search findall fullmatch
re.match()
是 Python 正则表达式模块 re
中的一个函数,用于 从字符串的开头匹配正则表达式