2024-07-04 05:45:29 发布
网友
我试图让一个正则表达式返回一个特定单词的实例,并且只返回那个单词。例如,作为另一个词的子串的单词不应该包括在内。在
这是到目前为止我在python3.x中的正则表达式。在
re.search(r'\bJohnn(y\'s|y)[.]?\b', string)
但是,由于.不被\w视为单词字符,所以当我不希望它们匹配时,.Johnny包含的实例字符串将被匹配。在
.
\w
.Johnny
为了澄清,字符串后面的句点是可以的。在
我有没有把.作为\w列表的一部分?在
您可以使用否定look-behind断言来避免这种情况
re.search(r'\b(?<!\.)Johnn(y\'s|y)[.]?\b', string)
Regex explanation here
是另一种情况。检查它前面是否没有“.”,后面是否跟有lookarounds(?<![.])和{}的\w
(?<![.])
re.search(r'(?<![.\w])Johnny(?:\'s)?[.]?(?![.\w])', string)
您可以使用否定look-behind断言来避免这种情况
Regex explanation here
是另一种情况。检查它前面是否没有“}的
.
”,后面是否跟有lookarounds(?<![.])
和{\w
正则表达式:
相关问题 更多 >
编程相关推荐