![]() |
1
2
你对意思的信仰基本上是正确的,但不是所有的东西都匹配。 与通常的regex库不同,当我们处理这样的语言理论时,正则表达式必须与 整个的 字符串。所以,_礽(空字符串)是语言,10是语言,1010是语言,等等-所有完全由字符串“10”组成的东西重复0次或更多次。 然而,01是 不 在语言中,字符串不包含重复0次或更多次的字符串“10”。1也不是语言,您缺少最后0个。 我不知道您是否已经讨论过这一部分,但是如果您将该regex转换为NFA(或DFA,这一部分不需要非确定性),您基本上会得到这个(稍微简化,如果我正确地记得我的转换算法,但这是从算法到这个的一个非常小的变化):
在哪里?
这有助于你明白为什么它不匹配所有东西吗? |
![]() |
2
4
这些字符串的语言(10)*:
这些字符串不是语言(10)*:
这有帮助吗? |
![]() |
3
1
|