Использование регулярных выражений для определения всех постфиксов строки - PullRequest
1 голос
/ 13 октября 2019

Я пытаюсь найти простой способ сопоставления строки и всех ее пост-исправлений с помощью выражения регулярного выражения. Например, у меня есть строка «Тропический лес». Существует ли упрощенное выражение регулярного выражения, которое соответствует всем следующим условиям:

R$
Ra$
Rai$
Rain$
Rainf$
Rainfo$
Rainfor$
Rainfore$
Rainfores$
Rainforest$

Я обнаружил, что могу использовать это как метод поиска всех исправлений.

\b(R|Ra|Rai|Rain|Rainf|Rainfo|Rainfor|Rainfore|Rainfores|Rainforest)\b

Есть ли более простой способ?

1 Ответ

0 голосов
/ 13 октября 2019

Этот

\b(?:Ra?i?n?f?o?r?e?s?t?)\b

будет соответствовать этим, но он также будет соответствовать некоторым другим строкам, таким как Ran, если это будет в порядке.


Если вы хотитечтобы упростить / изменить / изучить выражение, это было объяснено на верхней правой панели regex101.com . При желании вы также можете посмотреть в эту ссылку , как она будет сопоставляться с некоторыми примерами входных данных.


Другим вариантом будут вложенные группы:

\bR(a(i(n(f(o(r(e(s(t)?)?)?)?)?)?)?)?)?\b

Демо

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