您的位置:首页 > 编程语言 > Python开发

python正则学习

2016-12-13 22:19 295 查看
python re模块学习



若re模式与转义符号冲突,则在模式串前面加r。

source = "I wsiswwwwh I may, I wish I might Have a dish of fish tonight."
m = re.findall(r'(?<=I )wish', source)
print(m)
m = re.findall(r'(?<!I )wish', source)
print(m)
m = re.findall(r'I(?= wish)', source)
print(m)
m = re.findall(r'I(?! wish)', source)
print(m)

输出
['wish']
[]
['I']
['I', 'I', 'I']


定义模式匹配输出

source = "I wsiswwwwh I may, I wish I might Have a dish of fish tonight."

# 当使用match()或search()时,所有匹配以m.group()的形式返回到对象m中
# 如果用括号括起来,那么匹配结果归入到自己的gorup中,
# 调用m.groups()得到包含这些匹配的元组
m = re.search(r'(. dish\b).*(\bfish)', source)
print(m.group())
print(m.groups())
# ?P<name>expr 这样的模式会匹配expr,并将匹配结果存储到名为name的组中
m = re.search(r'(?P<DISH>. dish\b).*(?P<FISH>\bfish)', source)
print(m.group())
print(m.groups())
print(m.group("DISH"))
print(m.group("FISH"))
输出结果
a dish of fish
('a dish', 'fish')
a dish of fish
('a dish', 'fish')
a dish
fish
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python