3

PEGに関するウィキペディアの記事には、次のように記載されています。

文脈自由文法と構文解析式文法の根本的な違いは、PEG の選択演算子が順序付けられていることです。最初の選択肢が成功した場合、2 番目の選択肢は無視されます。したがって、文脈自由文法や正規表現のような順序付けられていない選択とは異なり、順序付けられた選択は交換可能ではありません。

しかし、この質問は、選択肢が互いの部分文字列である場合を発見しました。その場合、正規表現は に従って動作しませんunordered choice。wiki はほとんどの部分で正しいですが、このエッジ条件を考慮していません。私の評価は正しいですか?

4

1 に答える 1

1

"regex" != "正規表現". 後者は純粋で単純であり、理論的なコンピューター科学者と記号数学者だけが関心を持っています。

「順序付き選択」は、正規表現プロセッサの実装オプションです。

あなたは、「代替が互いの部分文字列である場合、正規表現は順序付けられていない選択に従って動作しない」と言います。

より正確なステートメントは、「一部の正規表現プロセッサは、すべての代替に順序付けられた選択を使用します。これは、代替が別のプレフィックスである場合に顕著になります。」

于 2011-05-06T05:56:11.987 に答える