我正在尝试编写一个正则表达式来匹配带有 ab 和 ba 实例且仅包含 {a,b} 字母表的字符串。
我尝试仅使用
|
和 *
运算符来实现此目的。我认为这与我切换字母需要偶数的次数有关。
例如:
aba
被接受(1 ab 和 1 ba)。它在字符之间切换两次。
aaaa
被接受,因为它有 0 个 ab 和 ba 实例并且切换字符 0 次。
我真的很难生成正则表达式。
我尝试了像
(a*b*a*)|(b*a*b*)
和其他一些正则表达式,但我似乎无法解决它。
如果字符串仅包含 a 和 b,则当且仅当以相同字母开头和结尾时,
ab
出现的次数将等于 ba
出现的次数。
所以你可以写:
a(a|b)*a|b(a|b)*b