Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在“foo”开头和结尾没有任何小写、大写字符、数字或下划线的句子中找到“foo”。
例如,在".foo bar (foo) bar foo-bar foo_bar foo'bar bar-foo bar, foo."我想找到".foo ", "(foo)", " foo-", " foo'", "-foo ", " foo.".
".foo bar (foo) bar foo-bar foo_bar foo'bar bar-foo bar, foo."
".foo "
"(foo)"
" foo-"
" foo'"
"-foo "
" foo."
我试图通过使用这个正则表达式来解决这个问题"(?![a-zA-Z0-9_])foo(?![a-zA-Z0-9_])":但它没有用。
"(?![a-zA-Z0-9_])foo(?![a-zA-Z0-9_])"
^在字符类的开头使用:
^
>>> 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.']