1.为什么要加#?
比如
(a|b)*a b b #1 2 3 4 5 6
因为对于每个NFA的状态集,比如{1} 表示的是分析到了1对应的位置之前。
所以如果不加#的话, 对于{5} 表示的是分析到了b之前, 但这个时候并没有结束。
那把{1} 表示的是分析到了1对应的位置之前 改成 分析到了1对应的位置之后,
又会发现一个问题,那怎么表示start,最开始的状态呢? 可以在(a|b) * a b b之前加个 ^符号。
但是觉得还是放在#后面比较好些。
比如
(a|b)*a b b #因为对于每个NFA的状态集,比如{1} 表示的是分析到了1对应的位置之前。
所以如果不加#的话, 对于{5} 表示的是分析到了b之前, 但这个时候并没有结束。
那把{1} 表示的是分析到了1对应的位置之前 改成 分析到了1对应的位置之后,
又会发现一个问题,那怎么表示start,最开始的状态呢? 可以在(a|b) * a b b之前加个 ^符号。
但是觉得还是放在#后面比较好些。