比較的単純な正規表現の問題があります。単語全体またはプレフィックスである場合、文字列内の特定の単語を一致させる必要があります。単語境界を使用すると、次のようになります。
\b(word1|word2|prefix1|prefix2)
ただし、一部の単語は奇数文字で始まる場合があるため、単語境界条件は使用できません (.999 など)。
私の解決策は、これらの奇妙なケースの空白または開始トークンを探すことでした。
(\b|^|\s)(word1|word2|prefix1|prefix2)
.999 のような単語は引き続き正しく一致しますが、一致した単語/接頭辞の前にある空白もキャプチャします。私の目的では、空白をキャプチャすることはできません。
肯定的な後読みはこれを解決するように見えますが、javascript はそれらをサポートしていません。この問題を解決するために同じ動作を得ることができる他の方法はありますか?