用正则表达式匹配两个字符串之间的文本

2024-05-08 02:55:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用一个正则表达式来匹配两个字符串之间的任何文本:

Part 1. Part 2. Part 3 then more text

在这个例子中,我想搜索“第1部分”和“第3部分”,然后得到介于两者之间的所有内容:“。第2部分。”

我用的是Python 2x


Tags: 字符串text文本内容more例子partthen
2条回答

使用正则表达式:

>>> import re
>>> s = 'Part 1. Part 2. Part 3 then more text'
>>> re.search(r'Part 1(.*?)Part 3', s).group(1)
'. Part 2. '

如果不使用正则表达式,此表达式适用于您的示例:

>>> s = 'Part 1. Part 2. Part 3 then more text'
>>> a, b = s.find('Part 1'), s.find('Part 3')
>>> s[a+6:b]
'. Part 2. '

使用re.search

>>> import re
>>> s = 'Part 1. Part 2. Part 3 then more text'
>>> re.search(r'Part 1\.(.*?)Part 3', s).group(1)
' Part 2. '
>>> re.search(r'Part 1(.*?)Part 3', s).group(1)
'. Part 2. '

或者使用re.findall,如果有多个发生。

相关问题 更多 >