标签: regex regex-alternation
(a|b)*与a*|b*相同吗?换句话说,(a|b)*是否接受a和b s组合的字符串?
(a|b)*
a*|b*
a
b
答案 0 :(得分:10)
(a|b)* 与 a*|b* 相同?
它们不一样。
a*|b* 表示“(0或更多a s)或(0或更多b s)”
(a|b)* 表示“0或更多(a或b)s”
因此,例如,ab将由(a|b)*匹配,但不会由a*|b*匹配。另请注意,a*|b*匹配的任何内容也会与(a|b)*匹配。
ab
答案 1 :(得分:8)
没有
如果是(a|b)*,您可以混合A和B s(see demo)。
A
B
如果是a*|b*,您可以拥有A或B s(see demo)。