Java正则表达式的数字范围

时间:2014-01-23 01:30:09

标签: java regex numbers range

您好我需要Java正则表达式来匹配以下任何内容:

  <1,2> W W:1W或2W或3W等,等等1,2,3,4,5,6,7,8,9,10,11,12   M▲1,2 Y

我尝试过使用以下内容,但无法正常使用

[0-2]{1}W|[1-12]{2}M|[1-2]{1}Y

由于

3 个答案:

答案 0 :(得分:3)

试试这个:

^([1-3]W|(1[0-2]|[1-9])M|[12]Y)$

Here是解释:

  ^         --> the beginning of the string
  (         --> group and capture to \1:
    [1-3]   --> any character of: '1' to '3'
    W       --> 'W'
    |       --> OR
    (       --> group and capture to \2:
      1     --> '1'
      [0-2] -->any character of: '0' to '2'
    |       --> OR
      [1-9] --> any character of: '1' to '9'
    )       --> end of \2
    M       --> 'M'
   |        --> OR
    [12]    --> any character of: '1', '2'
    Y       --> 'Y'
  )         --> end of \1
  $         --> before an optional \n, and the end of the
                           string

希望它有所帮助。

答案 1 :(得分:1)

我对正则表达式没有经验,但是, 尝试分开三个机会。 例如:

([0-3] W)|((1 [0-2])|([1-9])M)|([12] J)的

我没有看到你想在一行的开头找到这个词, 所以不需要^和$

使用regexpal

进行测试

答案 2 :(得分:0)

试试这个:

^([1-3]W|[1-9]M|1[0-2]M|[12]Y)$

Demonstration