到目前为止我收集到的内容:
- ^ -> 匹配第一个符号
- $ -> 匹配最后一个符号
- [] -> 可以出现在该位置的字符集
- | ->“或”运算符
- ?-> 前面的条件是可选的
我认为该模式的含义是:
该行必须以 ana
或 a开头b
,或者必须以 a 结尾c
,或者必须是空字符串。不过,我在绘制图案的 dfa 时遇到了麻烦。让我失望的是“可选”符号。我无法理解该语言不接受哪些字符串。
有人能指出我正确的方向吗?
到目前为止我收集到的内容:
我认为该模式的含义是:
该行必须以 ana
或 a开头b
,或者必须以 a 结尾c
,或者必须是空字符串。不过,我在绘制图案的 dfa 时遇到了麻烦。让我失望的是“可选”符号。我无法理解该语言不接受哪些字符串。
有人能指出我正确的方向吗?
^
匹配行的开头。[ab]?
匹配“a”或“b”,或者什么都不匹配。c?
匹配“c”,或者什么也不匹配。$
匹配行尾。所以,我认为这些行会匹配: