我有一个相对简单的正则表达式问题 - 我需要匹配字符串中的特定单词,如果它们是整个单词或前缀。使用单词边界,它看起来像这样:
\b(word1|word2|prefix1|prefix2)
但是,我不能使用单词边界条件,因为有些单词可能以奇数字符开头,例如 .999
我的解决方案是为这些奇怪的情况寻找空格或起始标记。
(\b|^|\s)(word1|word2|prefix1|prefix2)
现在像 .999 这样的词仍然可以正确匹配,但它也会捕获匹配的词/前缀之前的空格。出于我的目的,我不能让它捕获空白。
积极的lookbehinds 似乎解决了这个问题,但javascript 不支持它们。有没有其他方法可以获得相同的行为来解决这个问题?