Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python正则表达式查找;猫;但不是",;鲶鱼“;或;卡特彼勒;,等_Python_Regex - Fatal编程技术网

python正则表达式查找;猫;但不是",;鲶鱼“;或;卡特彼勒;,等

python正则表达式查找;猫;但不是",;鲶鱼“;或;卡特彼勒;,等,python,regex,Python,Regex,我不太习惯正则表达式,我在创建一个正则表达式时遇到了困难,它在字符串中的任何位置都能找到“cat”,后面(或不后面)有任何标点,但不能找到“caterpillar”、“catfish”等。在Python正则表达式中,\b是一个单词边界,因此您可以搜索cat\b(虽然这也会拾取类似于bobcat或tomcat的内容,因此如果您不想使用它们,可能需要使用\bcat\b) 从中(尽管2.7是): \b-匹配空字符串,但仅在单词的开头或结尾 单词定义为Unicode字母数字或下划线字符序列,因此单词的结

我不太习惯正则表达式,我在创建一个正则表达式时遇到了困难,它在字符串中的任何位置都能找到“cat”,后面(或不后面)有任何标点,但不能找到“caterpillar”、“catfish”等。在Python正则表达式中,
\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。。。