正则表达式匹配数字范围

3
我正在尝试编写一个简单的正则表达式来匹配1%-100%的百分比值范围。
是否有更好的编写方式?
^([1-9]|[1-9][0-9]|100)%$

2
你为什么要寻找一个“更好”的方式来解决这样一个简单的问题呢?我的意思是问题已经解决了,它还能变得更好吗?少2个字符,4个字符,谁在乎呢? - Pop Catalin
你对这种方法有任何问题吗? - SilentGhost
2
@Pop Catalin,如果你不能提供答案,我不需要听到噪音。仅仅因为某个东西“解决”了一个问题,并不意味着可能没有更好的解决方案。 - Gabe
3
我喜欢它只被标记为[regex]。 “正则表达式是唯一的工具!” 解析出整数并对其使用实际的比较运算符。 - maček
@gmcalab,你可以先说明你正在使用的编程语言。这样可以让人们从一个全新的角度来解决你的问题(而不仅仅是“正则表达式”);可能是你甚至没有想到过的。 - maček
显示剩余3条评论
1个回答

4
您可以将其简化一些:
^([1-9][0-9]?|100)%$

谢谢,这就是我知道我缺失的优化类型。 - Gabe
3
这是一个更好的方案,它将使原帖作者更加开心:[-9,-1]到[1,9]之间的整数百分比或者100%。这将减少2个字符。 - Pop Catalin
它并没有提供任何可衡量的加速,尽管如此。 - SilentGhost
@SilentGhost,没关系,因为问题并不是(特别)关于性能的。 - maček
是的,我没有性能问题,只是觉得可能有更好的方法。 - Gabe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接