Как провести опциональное сопоставление ведущих слов в регулярных выражениях - PullRequest
0 голосов
/ 04 мая 2020

Я довольно новичок в использовании регулярных выражений. Я создаю анализатор слов, и мне нужно заменить отрезки, которые могут отображаться как AB или Line AB, на Line(AB). Я проверил регулярное выражение необязательное совпадение слов , но в моем случае начальное слово Line является необязательным, когда я использую (?:[Ll]ine)?\b([A-Z])([A-Z]), двигатель просто заменяет AB, и он становится Line Line(AB).

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 04 мая 2020

При желании можно сопоставить строку и захватить AB в группе.

\b(?:[Ll]ine )?(AB)\b

При замене использовать Line с последующей группой захвата $1 или \1 в скобках.

Line ($1)

Regex demo

Или с несколькими символами в верхнем регистре вместо только AB

\b(?:[Ll]ine )?([A-Z]+)\b

Regex demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...