python正则表达式查找;猫;但不是",;鲶鱼“;或;卡特彼勒;,等
我不太习惯正则表达式,我在创建一个正则表达式时遇到了困难,它在字符串中的任何位置都能找到“cat”,后面(或不后面)有任何标点,但不能找到“caterpillar”、“catfish”等。在Python正则表达式中,python正则表达式查找;猫;但不是",;鲶鱼“;或;卡特彼勒;,等,python,regex,Python,Regex,我不太习惯正则表达式,我在创建一个正则表达式时遇到了困难,它在字符串中的任何位置都能找到“cat”,后面(或不后面)有任何标点,但不能找到“caterpillar”、“catfish”等。在Python正则表达式中,\b是一个单词边界,因此您可以搜索cat\b(虽然这也会拾取类似于bobcat或tomcat的内容,因此如果您不想使用它们,可能需要使用\bcat\b) 从中(尽管2.7是): \b-匹配空字符串,但仅在单词的开头或结尾 单词定义为Unicode字母数字或下划线字符序列,因此单词的结
\b
是一个单词边界,因此您可以搜索cat\b
(虽然这也会拾取类似于bobcat
或tomcat
的内容,因此如果您不想使用它们,可能需要使用\bcat\b
)
从中(尽管2.7是):
\b-匹配空字符串,但仅在单词的开头或结尾
单词定义为Unicode字母数字或下划线字符序列,因此单词的结尾由空格或非字母数字、非下划线Unicode字符表示
请注意,形式上,\b定义为\w和\w字符之间的边界(反之亦然),或\w和字符串的开头/结尾之间的边界。这意味着r'\bfoo\b'匹配'foo','foo','(foo)','bar foo baz',但不匹配'foobar'或'foo3'
默认情况下,使用的是Unicode字母数字,但这可以通过使用ASCII标志进行更改。在字符范围内,\b表示退格字符,以便与Python的字符串文字兼容
使用单词边界
r'\bcat\b'
Read。。。