Python正则表达式问题 - 子字符串但不是前缀

时间:2011-07-15 13:20:06

标签: python regex

:)

我正试图将foo设为bar,但前提是它没有预先设置ie。 /。所以......

foobar应该更改为barbar,但/ foobar不会。

我尝试在我的开头添加[^ /],但如果foo位于字符串的开头,则无效。

我讨厌正则表达式! :P

2 个答案:

答案 0 :(得分:1)

使用负面的lookbehind断言。

>>> re.search('(?<!/)foo', 'foo')
<_sre.SRE_Match object at 0x7f44891518b8>
>>> re.search('(?<!/)foo', '/foo')
>>> re.search('(?<!/)foo', 'barfoo')
<_sre.SRE_Match object at 0x7f4489151850>

答案 1 :(得分:0)

尝试使用     \ bfoo \ B'/ P>

\ b是word boundary,它处理许多常见情况,如行首,空格等。