\b Regex包含句点作为单词

2024-07-04 05:45:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让一个正则表达式返回一个特定单词的实例,并且只返回那个单词。例如,作为另一个词的子串的单词不应该包括在内。在

这是到目前为止我在python3.x中的正则表达式。在

re.search(r'\bJohnn(y\'s|y)[.]?\b', string)

但是,由于.不被\w视为单词字符,所以当我不希望它们匹配时,.Johnny包含的实例字符串将被匹配。在

为了澄清,字符串后面的句点是可以的。在

我有没有把.作为\w列表的一部分?在


Tags: 实例字符串re列表searchstring字符单词
2条回答

您可以使用否定look-behind断言来避免这种情况

re.search(r'\b(?<!\.)Johnn(y\'s|y)[.]?\b', string)

Regex explanation here

Regular expression visualization

是另一种情况。检查它前面是否没有“.”,后面是否跟有lookarounds(?<![.])和{}的\w

正则表达式:

re.search(r'(?<![.\w])Johnny(?:\'s)?[.]?(?![.\w])', string)

相关问题 更多 >

    热门问题