Регулярное выражение: имеет ли звезда Клини дистрибутивное свойство?

Будет ли разница между (aa)* а также (a*a*)?

Есть ли распределительная собственность?

3 ответа

Решение

Клини Стар не раздает. (ab)* сильно отличается от (a*b*),

В вашем конкретном примере (aa)* будет соответствовать группам из двух as (таким образом, это соответствует только четным числам as) пока (a*a*) эквивалентно (a*) и соответствует любой последовательности as. (В таком случае, L((aa)*) правильное подмножество L((a*a*)), но это не обязательно верно для общего регулярного выражения).

(aa)* группа не соответствует целому aaa так что да, есть разница, она вернет вам только группу из 2 a,

Но (a*a*) это так же, как (a*),

Да, есть разница. (aa)* будет группами aa, тогда как (a*a*) будет a's.

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

Другие вопросы по тегам