2016-05-02 17 views

答えて

0

bに一致した後に、正規表現エンジンは、右後c*が空の文字列(cbd間欠落することができる)を一致させることができるようにdを一致させることができるので、確かにあなたは間違いを含んでいます。

数値限定子は、以前のサブパターン(グループ、文字クラス、リテラル文字)が一致するものが0回以上一致します。

a|bc*d 
0| || | 
1 || | 
    || | 
    2| | 
    3 | 
     4 
+0

私は3に行かずに2から4へ行くオプションがあると思いますか?それは間違っていますか? – AbhiNickz

+0

これは、正確には、「b」から「d」(2から4まで)の「直接ルート」がある理由です。 'c *'は完全にオプションです。 –

+0

でも、私はCが逃すことができるのをキャッチします。つまり、あなたが国家2にいれば、fsaは単に "c"を読まずにただちにdに行くことができます。私が正しいと理解しても、生成文字列は同じだとは思うけど、正規表現 "bc * d"は完全に解釈されるべきです。だから、私のdfsaでは、dを読んでいなくても、dの後にbを通り抜けることは可能です。私は正しいのですか? –

関連する問題