Две или более буквы в строке - PullRequest
1 голос
/ 25 апреля 2019

Я изо всех сил пытаюсь найти решение этого упражнения:

Дайте регулярные выражения для следующих английских предложений по алфавиту {a, b}: все строки, содержащие два или более "a".

Я знаю, как найти 2 или более «а», но не уверен, как включить его в другие строки, образованные «а» и «b».

aa(aa)*

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Таким образом вы можете написать регулярное выражение, содержащее a и b, где число a равно двум или более.

^(?:b*ab*){2,}$

Regex Demo

Дайте мне знать, если это то, что вы хотели.

0 голосов
/ 25 апреля 2019

Существенно более быстрый и предпочтительный способ сделать это:

^b*ab*a[ab]*$

Тесты

Regex1:   ^b*ab*a[ab]*$
Options:  < m >
Completed iterations:   50  /  50     ( x 1000 )
Matches found per iteration:   3
Elapsed Time:    0.21 s,   205.99 ms,   205989 µs
Matches per sec:   728,194


Regex2:   ^(?:b*ab*){2,}$
Options:  < m >
Completed iterations:   50  /  50     ( x 1000 )
Matches found per iteration:   3
Elapsed Time:    0.33 s,   327.00 ms,   326998 µs
Matches per sec:   458,718
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...