найти регулярное выражение для строк, содержащих подстроку aba над алфавитом {a, b}?(теория формального языка) - PullRequest
2 голосов
/ 03 октября 2011

В вопросах предлагается найти регулярное выражение для строк, содержащих подстроку aba над алфавитом {a, b}.

Означает ли это, что что-либо может предшествовать / обрабатываться aba так, чтобы регулярное выражение было:

(aUb)*(aba)*(aUb)*

или вопрос просто ищет:

(aba)*

Примечание: U означает объединение, а * означает 0 или более раз.

Ответы [ 3 ]

4 голосов
/ 03 октября 2011

Поскольку * означает 0 или более, ε на первом языке, а вы не хотите его (он не содержит aba)Вы ищете (aUb)*aba(aUb)*.

0 голосов
/ 03 октября 2011

Первый: любая строка, которая содержит aba хотя бы один раз.

0 голосов
/ 03 октября 2011

Подстрока определяется как

существительное

строка, которая является частью более длинной строки

Также обратите внимание, что второе выражение является подмножеством первого.

...