Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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 regex单词边界+;引用_Python_Regex - Fatal编程技术网

Python regex单词边界+;引用

Python regex单词边界+;引用,python,regex,Python,Regex,下面的表达式应该以不区分大小写的方式匹配整个给定单词。引号是单词的一部分,所以我检查单词的前面或后面是否有引号。例如,单词“foo”不应与文本“foo’s”匹配 这次应该找到“foo”,但没有找到,因为单词前面有引号。((?使用regex(?:) ((?<![a-z\'\"])|(?<=\'{3}))foo((?![a-z\'\"])|(?=\'{3})) pattern=re.compile(r'(?:(?不使用前瞻: >>> pat = r'([\'\"]{3

下面的表达式应该以不区分大小写的方式匹配整个给定单词。引号是单词的一部分,所以我检查单词的前面或后面是否有引号。例如,单词“foo”不应与文本“foo’s”匹配

这次应该找到“foo”,但没有找到,因为单词前面有引号。

((?使用regex
(?:)

((?<![a-z\'\"])|(?<=\'{3}))foo((?![a-z\'\"])|(?=\'{3}))

pattern=re.compile(r'(?:(?不使用前瞻:

>>> pat = r'([\'\"]{3}|\b)foo\1'
>>> m = re.search(pat, 'My """foo""" is rich')
>>> re.search(pat, 'My """foo""" is rich').groups()
('"""',)
>>> re.search(pat, "My '''foo''' is rich").groups()
("'''",)
>>> re.search(pat, 'My """foo"" is rich').groups()
('',)
>>> re.search(pat, 'My """foo\'\'\' is rich').groups()
('',)

XD,我的正则表达式应该找到单词,如果它在三重引号中,但它没有。
((?<![a-z\'\"])|(?<=\'{3}))foo((?![a-z\'\"])|(?=\'{3}))
pattern = re.compile(r'(?:(?<=\'\'\')|(?<!\'))\b%s\b(?:(?=\'\'\')|(?!\'))' % word,flags=re.IGNORECASE)
>>> pat = r'([\'\"]{3}|\b)foo\1'
>>> m = re.search(pat, 'My """foo""" is rich')
>>> re.search(pat, 'My """foo""" is rich').groups()
('"""',)
>>> re.search(pat, "My '''foo''' is rich").groups()
("'''",)
>>> re.search(pat, 'My """foo"" is rich').groups()
('',)
>>> re.search(pat, 'My """foo\'\'\' is rich').groups()
('',)