繁体   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