Skip to main content
 首页 » 编程设计

python之正则表达式:不匹配已经是单词一部分的字符串

2025年05月04日51zdz8207

这听起来应该很简单,所以我想我可能遗漏了什么。

假设我想使用正则表达式来匹配字符串“cat”,我可以很好地做到这一点,但是,我不想匹配“concatenate”或任何其他包含“cat”的词,我只想单独使用“猫”。

我将如何实现这一目标?我考虑了以下内容:

(猫|猫|猫|)( )*

但这似乎不能正常工作。如果“猫”是句子/行中的第一个词,我不能在两边添加空格。

有没有办法使用正则表达式排除字符?诸如“不是 A-z 或 0-9 两边的‘猫’”之类的东西?

请您参考如下方法:

尝试单词边界:

/\bcat\b/gi 

Demo


A word boundary , \b, 是一个 zero-length assertion本质上是查找一个单词字符后跟一个非单词字符,反之亦然 (\w\W|\W\w|^\w|\w$)。