首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这种正则表达式简化是正确的吗?

这种正则表达式简化是正确的吗?
EN

Stack Overflow用户
提问于 2012-11-29 09:56:47
回答 2查看 58关注 0票数 3

我在这里阅读了“浏览器是如何工作的”这篇文章:How Browsers Work (这是一篇很棒的文章)。

但有一次,他们提到这是他们定义整数的语法规则:

代码语言:javascript
复制
INTEGER :0|[1-9][0-9]*

这是不是完全相同(也更简单)的写法:

代码语言:javascript
复制
INTEGER :[1-9]*[0-9]

我想不出有哪种情况不能同时满足这两条规则,也没有理由认为第一条规则更可取。

有没有理由包含一个简单的基本情况(比如0),或者这只是一种学究?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-29 10:00:40

这两个表达式是不同的:第一个表达式将接受101,而第二个表达式不会。书中的表达式非常擅长匹配整数,但不允许前导零。

票数 2
EN

Stack Overflow用户

发布于 2012-11-29 10:01:11

它们是不同的,因为我的简化只能包含一个零,而且只有当它是一个尾随零的时候。例如:此大小写与简化规则不匹配:

代码语言:javascript
复制
101
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13617628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档