Действительно, язык POSIX BRE не может выражать все регулярные выражения, потому что в нем нет чередования. Он даже не может распознать все конечные языки, не говоря уже о всех обычных языках.
Например, не распознается как BRE. Чтобы доказать это, рассмотрим, какой может быть синтаксическая форма верхнего уровня:{ a b , b a }
- Это не может быть одна из односимвольных форм, поскольку в языке есть слова длиной .> 1
- р*
- р{ м , н }m = n = 1
- р1р2ab
- R1abR2R1{ab,ba}
- R1aabR2bR1R2ubR1uR1aba
- R1abaRabR1R2
Когда «мы возвращаемся к исходной проблеме», это означает, что единственное решение, чтобы найти BRE, распознающий язык, - это найти меньший BRE, имеющий то же свойство. Это бесконечный спуск , поэтому нет BRE, который обладает желаемым свойством.
Я не думаю, что есть «хорошая» характеристика BRE-распознаваемых языков, например, языков, распознаваемых «хорошим» классом автоматов.
{ww∣w∈{a,b}∗}\(.*\)\1
(abc|bac)*
.