小星的效力 0 是否满足析取?



正则表达式X•(Y*+Z)接受单词X吗?

我会说确实如此,因为Y=ε应该实现分离,但我不确定。

是的,匹配 0 次仍然算作成功。

或者,从另一个方向看它,你的正则表达式生成

X
XY
XZ
XYY
XYYY
XYYYY
...

这个答案是假设你的正则表达式也可以表示为X.(Y*|Z)除了你的原始X•(Y*|Z)之外——如果这不正确,请解释应该做什么或代表什么。

X•(Y*|Z)要求XY*Z可以匹配之前存在,但不会在匹配的特定捕获组结果中包含X,而只会包含匹配行。如果要包含 X ,可以将其重写为 (X)•(Y*|Z) 并从捕获组 1 中提取X,并在捕获组 2 中提取析取匹配项。

相关内容

最新更新