Я пытался с Regex Coach против:
x foo y
x bar y
x foobar y
Если я проверю параметр g
, то он действительно соответствует всем трем словам, потому что он ищет снова после каждого совпадения.
Если вам не нужно это поведение, вы можете привязать выражение, например, сопоставляя только по границам слова:
\b(foo|bar)\b
Предоставление большего количества контекста по проблеме (как выглядят данные) может дать лучшие ответы.