Skip to Content
Python语言及其应用(第2版)
book

Python语言及其应用(第2版)

by Bill Lubanovic
March 2022
Intermediate to advanced
522 pages
13h 52m
Chinese
Posts & Telecom Press
Content preview from Python语言及其应用(第2版)
数据处理
203
查找后续为
wish
I
>>> re.findall('I (?=wish)', source)
['I ', 'I ']
最后,查找之前为
I
wish
>>> re.findall('(?<=I) wish', source)
[' wish', ' wish']
我先前提到过,正则表达式模式规则有时候会和
Python
字符串规则发生冲突。下列模式本
应匹配以
fish
起始的任意单词:
>>> re.findall('\bfish', source)
[]
怎么回事?第
5
章中讨论过,
Python
有一些特殊的
转义序列
。例如,
\b
代表退格,但在正则
表达式中,
\b
代表单词边界。为了避免这种歧义,在定义正则表达式字符串时,可以使用
Python
原始字符串
。只要把
r
字符放在正则表达式字符串之前,
Python
就会禁用转义序列。
>>> re.findall(r'\bfish', source)
['fish']
12.2.8
模式
指定
match()
的输出
在使用
match()
search()
时,结果对象
m
中的所有匹配以
m.group()
返回。如果将
模式放入圆括号内,对应的匹配会被保存在单独的分组中,由其组成的元组可以通过
m.groups()
获得,如下所示:
>>> m = re.search(r'(. dish\b).*(\bfish)', source)
>>> m.group()
'a dish of fish'
>>> m.groups()
('a dish', 'fish') ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python编程入门与实战

Python编程入门与实战

Posts & Telecom Press, Fabrizio Romano
Python实用技能学习指南

Python实用技能学习指南

Posts & Telecom Press, Robert Smallshire, Austin Bingham
Python技术基础视频教程

Python技术基础视频教程

保罗·J·戴特尔
Python面向对象编程指南

Python面向对象编程指南

Posts & Telecom Press, Steven F. Lott

Publisher Resources

ISBN: 9787115586223