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

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?

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top