3

ここで「ブラウザーのしくみ」の記事を読んでいました:ブラウザーのしくみ(これは素晴らしい読み物です。)

しかし、ある時点で、彼らはこれを整数を定義する文法の規則として言及しています。

INTEGER :0|[1-9][0-9]*

書くのはまったく同じ(そしてより簡単)ですか、それともそうではありません:

INTEGER :[1-9]*[0-9]

両方のルールを満たさないケースも、最初のルールが優先される理由も思いつきませんでした。

単純な基本ケース ( など0) を含める理由はありますか?

4

2 に答える 2

2

これら 2 つの式は異なります。最初の式は を受け取ります101が、2 番目の式は受け取りません。この本の式は、先行ゼロを許可せずに整数を一致させるのに非常に優れています。

于 2012-11-29T02:00:40.440 に答える
2

私の簡略化には 1 つのゼロしか含めることができず、それが末尾のゼロである場合にのみ、それらは同じではありません。例えば。このケースは、単純化されたルールには一致しません。

101
于 2012-11-29T02:01:11.007 に答える