python正则表达式搜索不以任何指定字母开头和结尾

时间:2013-08-08 16:29:35

标签: python regex

我想在“foo”开头和结尾没有任何小写,大写字母,数字或下划线的句子中找到“foo”。

例如,在".foo bar (foo) bar foo-bar foo_bar foo'bar bar-foo bar, foo."我希望找到".foo ""(foo)"" foo-"" foo'""-foo ",{{1} }。

我尝试使用此正则表达式来解决此问题:" foo.";但它不起作用。

1 个答案:

答案 0 :(得分:5)

在角色类的开头使用^

>>> strs = ".foo bar (foo) bar foo-bar foo_bar foo'bar bar-foo bar, foo."
>>> re.findall('[^\w+]foo[^\w+]', strs)
['.foo ', '(foo)', ' foo-', " foo'", '-foo ', ' foo.']