Find a regular expression for strings containing the substring 01a and even number of 1's over the alphabet {0,1,a} [closed]

StackOverflow https://stackoverflow.com/questions/12119795

Pergunta

Regular language given by its description:

The set of all strings of {0,1, a}, which contain the substring '01a' and an even number of '1'. For example, '01a1 ', '101a', '101a101'.

How to construct a regular expression that specifies the language?

Foi útil?

Solução

a oneliner for the heck of it:

^([0a]*1[0a]*([0a]*1[0a]*1)*)01a([0a]*1[0a]*1)*|([0a]*1[0a]*1)*01a([0a]*1[0a]*([0a]*1[0a]*1)*)$

basically, it checks for

string with odd number of 1s + 01a + string with even number of ones

OR

string with even number of 1s + 01a + string with odd number of ones

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top