У меня есть относительно простая проблема с регулярным выражением - мне нужно сопоставить определенные слова в строке, если они целые слова или префикс. С словоразделами, это будет выглядеть примерно так:Javascript Regex: как имитировать поведение «match without capture» позитивного lookbehind?
\b(word1|word2|prefix1|prefix2)
Однако, я не могу использовать граничное условие слова, потому что некоторые слова могут начинаться с нечетными символами, например, .999
Моим решением было искать пропущенное или начальное значение для этих нечетных случаев.
(\b|^|\s)(word1|word2|prefix1|prefix2)
Теперь такие слова, как .999 равно будут соответствовать правильно, но он также фиксирует пропуска предшествующих совпавшие слов/префиксы. Для моих целей я не могу захватить пробелы.
Положительные lookbehind, кажется, решают это, но javascript их не поддерживает. Есть ли другой способ, которым я могу получить такое же поведение, чтобы решить эту проблему?
Вы здесь же? Если нет, не могли бы вы просто удалить какие-либо ведущие пробелы из итогового матча? –