Skip to main content
 首页 » 编程设计

Python 2.6 正则表达式

2025年05月04日24duanxz

我很难弄清楚为什么这段代码没有生成匹配对象。我在 Centos 操作系统上运行 python 版本 2.6.6。

>>> x = r'\[GOOD\]' 
>>> y = r'it made me feel \[GOOD\]' 
>>> match = re.search(x, y) 
>>> print match 
None 

我预期的输出将是一个匹配对象,如:

>>> match = re.search ('hi', 'hilllaos') 
>>> print match 
<_sre.SRE_Match object at 0x3299ac0> 

有什么解释吗?

请您参考如下方法:

>>> x = r'\\\[GOOD\\\]' 
>>> y = r'it made me feel \[GOOD\]' 
>>> re.search(x, y) 
<_sre.SRE_Match object at 0x8aa3d40> 

\\\[ 第一个 \ 转义第二个(中间)斜线,最后一个斜线转义 [。

在正则表达式中仅使用 \[ 即可转义 [ 即 character class ,所以它不会匹配字符串 y 中的实际 \。