Regex 不带前导零的1-199(包括1和199)的正则表达式

Regex 不带前导零的1-199(包括1和199)的正则表达式,regex,Regex,正则表达式以匹配1到199之间的任意数字。不包括前导零,这意味着f.ex。015是不允许的 首先,我知道最好将其转换为整数或其他形式,我可以检查其范围。但现在我在玩ragular expresison 第二,这是我的第一次尝试 ^[1]?[1-9][0-9]?$ 但它似乎错过了“10倍”的比赛,比如101102 然后我再做一个: ^([1]\d{2} | [1-9][0-9]?)$ 不确定这是否有效。如果没有,有什么不对,否则,有没有另一种优雅的方式(更通用)来编写它,它可以解决像1~199

正则表达式以匹配1到199之间的任意数字。不包括前导零,这意味着f.ex。015是不允许的

首先,我知道最好将其转换为整数或其他形式,我可以检查其范围。但现在我在玩ragular expresison

第二,这是我的第一次尝试

^[1]?[1-9][0-9]?$
但它似乎错过了“10倍”的比赛,比如101102 然后我再做一个:

^([1]\d{2} | [1-9][0-9]?)$

不确定这是否有效。如果没有,有什么不对,否则,有没有另一种优雅的方式(更通用)来编写它,它可以解决像1~1999等问题

您可以使用此正则表达式:

^([1-9][0-9]?|1[0-9]{2})$

表达式是:
^(1?\d{0,2})$

看起来与我编写的第二个解决方案相同。我想知道是否有一种更优雅的方法,可以解决像1-1999这样的问题,而不需要太多修改。不管怎样,我会选择这个。这个看起来不对。它也会匹配模式,比如,你的权利,我收回我的旧答案,但它接受“03”,“08”。。。等等