簡體   English   中英

這種正則表達式的簡化是否正確?

[英]Is this regular expression simplification correct?

我正在閱讀這里的“瀏覽器如何工作”一文: 瀏覽器如何工作 (這是一個很好的閱讀。)

但有一次,他們提到這是他們定義整數的語法規則:

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

它是,或者不是,完全相同(和更簡單)寫:

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

我想不出一個不滿足這兩個規則的案例,也不是第一條規則首選的原因。

是否有理由包含一個簡單的基本案例(如0 ),還是只是迂腐?

這兩個表達式是不同的:第一個表達式需要101 ,而第二個表達式不會。 本書中的表達式非常適合匹配整數而不允許前導零。

它們不一樣,因為我的簡化只能包含一個零,並且只有它是一個尾隨零。 例如。 這種情況與簡化規則不匹配:

101

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM