正则表达式 - 范围(2-16)?

Jer*_*old 19 regex

我想做的就是匹配2-16之间的数字,跨越1位数到2位数

根据http://www.regular-expressions.info/numericranges.html,他们有1或2位数范围的例子,但不是跨越两者的例子......如果有意义的话.

The regex [0-9] matches single-digit numbers 0 to 9. [1-9][0-9] matches double-digit numbers 10 to 99.
Run Code Online (Sandbox Code Playgroud)

像"^ [2-9] [1-6] $"这样的东西匹配21或甚至96 lol.任何帮助,将不胜感激.

cHa*_*Hao 37

^([2-9]|1[0-6])$
Run Code Online (Sandbox Code Playgroud)

将匹配2到9之间的单个数字,或1,后跟0到6之间的数字,包括0和6.

  • +1并删除我的答案,因为你击败了我8秒. (4认同)
  • @skplunkerin:如果字符串未锚定,那么您最终会匹配“17”或“25”等内容,因为匹配分别跳过开头的“1”或结尾的“5”。为了限制范围,您几乎必须锚定字符串,无论是在开头还是在非单词字符处。 (2认同)

eld*_*his 7

有分隔符(出于习惯): /^([2-9]|1[0-6])$/

正则表达式本身就是: ^([2-9]|1[0-6])$

  • @Billy ONeal:这根本不是特定于PHP的.它可以用于任何允许您选择分隔符的语言. (5认同)