使用正则表达式检查数字范围

mrs*_*986 17 java regex numbers range

我正在使用正则表达式来验证字符串中的某种格式.该字符串将成为游戏的规则.

例如:"DX 3",根据该规则是确定的,但"DX 14"可能是也没关系......我知道如何看待字符串,找到一个或多个"数字",所以问题是,正则表达式会也匹配34,这个数字超出规则的"范围"......

我错过了关于正则表达式的一些事情吗?或者这根本不可能?

Mar*_*cus 37

不幸的是,在正则表达式中定义范围并不容易.如果你要使用1-23的范围,你最终会得到这样的正则表达式:

([1-9]|1[0-9]|2[0-3])
Run Code Online (Sandbox Code Playgroud)

说明:

  1. 值为1-9
  2. 或者值从1开始,然后是0-9
  3. 或者值以2开头,然后是0-3