Python正则表达式匹配并删除特定模式

时间:2011-11-13 16:37:27

标签: python

我有一个包含以下语法的文件:

<whitespace_sequence><string><whitespace_sequence><--More--><whitespace_sequence><string_sequence><newline>

使用Python(2.4),我想删除序列:

 "<whitespace_sequence><--More--><whitespace_sequence>" from the above grammar.

我使用以下正则表达式模式:

x = re.compile("(\s+)("--More--")(\s+)")

但它与我需要移除的序列不匹配。

1 个答案:

答案 0 :(得分:1)

看起来你的正则表达式的问题是双引号。没有它们,它可以正常工作:

>>> sample = '   string    --More--    anotherstring    \n'
>>> import re
>>> re.search(r'(\s+)(--More--)(\s+)', sample).groups()
('    ', '--More--', '    ')

FWIW,这是直接从示例字符串开发正则表达式的一个很好的资源: http://txt2re.com/

了解正则表达式的更多资源是:http://www.regular-expressions.info/