[英]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.