Дайте регулярное выражение над Σ = {a,b}...?
Вопрос просит дать регулярное выражение над Σ = {a,b} в формальном представлении (не java), которое генерирует следующие языки:
- L1 = {x | x содержит подстроку abab}
- L2 = {x | x имеет нечетную длину}
- L3 = {x | x не заканчивается в ab}
Я понятия не имею, как написать регулярное выражение. Каковы будут ответы, и если бы вы могли объяснить, почему я был бы чрезвычайно благодарен.
1 ответ
Для регулярных выражений существует множество обозначений, которые отличаются в деталях. Ваши решения будут выглядеть примерно так:
- Σ * · ABAB · Σ *
- a · {aa, bb, ab, ba} * \cup b · {aa, bb, ab, ba} *
- Σ * · {bb, a} \cup {b, \ lambda}
где \cup установлен union/OR, а \ lambda - пустая строка.