Regex 仅包含奇数b'簇的字符串的正则表达式;具有集{a,b}的s

Regex 仅包含奇数b'簇的字符串的正则表达式;具有集{a,b}的s,regex,Regex,这必须是有效的 ababbba 这一定是无效的 bb 我只知道这个正则表达式确保每次迭代都有奇数b b(bb)* 但是,我当前的正则表达式在重复时失败 (a*b(bb)*)* 表达式(a*b(bb)*)*的问题是a*可以匹配0个或多个a,因此它将匹配abbb[0a]b。我想你想要的是这样的: ^a*b(bb)*(a+b(bb)*)*a*$ 这将匹配任意数量的a,然后是奇数的b,然后是0或更多的奇数的b,只要中间有一个或多个a,最后是任意数量的a。我包括了起始和结束终止符,因为regex

这必须是有效的

ababbba
这一定是无效的

bb
我只知道这个正则表达式确保每次迭代都有奇数b

b(bb)*
但是,我当前的正则表达式在重复时失败

(a*b(bb)*)*

表达式
(a*b(bb)*)*
的问题是a*可以匹配0个或多个a,因此它将匹配abbb[0a]b。我想你想要的是这样的:

^a*b(bb)*(a+b(bb)*)*a*$

这将匹配任意数量的a,然后是奇数的b,然后是0或更多的奇数的b,只要中间有一个或多个a,最后是任意数量的a。我包括了起始和结束终止符,因为regex coach给了我不带它们的部分匹配。

如果你只想要奇数的
b
s,为什么
bb
有效?@Turion我写道
bb
必须无效。