Percy

Java RegExp用于单独的数字组

java

我正在尝试编写一个正则表达式验证:1到99之间的一组(或多个)数字用|或分隔,(可以将两者组合)

必须接受:

1
10
1,2,3|5|10,20|30
1|5

必须拒绝:

1,
10,,
1,2,3!5

对于数字组,其直截了当:[1-9][0-9]。对于其余部分,这仍然是个谜。

有人可以协助提出正确的正则表达式吗?


阅读 264

收藏
2020-12-04

共1个答案

一尘不染

^[1-9][0-9]?(?:[,|][1-9][0-9]?)*$

说明:

^            # Start of string
[1-9][0-9]?  # Match a number between 1 and 99
(?:          # Start of optional capturing group:
 [,|]        #  Match one separator
 [1-9][0-9]? #  and a number 1-99
)*           # any number of times (including 0)
$            # End of string
2020-12-04