在下面的regex模式下,下面的数字范围是否匹配,这是很好的预期。我唯一的问题是,当我的范围是2-10或8-12 (个位数到两位数),那么这个模式是不匹配的。
示例
1匹配
1-2匹配
-2不匹配
1,2-3,4,5-7比赛
12,3不匹配
1-2-2不匹配
10-15比赛
2-10不匹配//这应该是匹配的,但不匹配以下模式
var patt1 = new RegExp("^(\\s*\\d+\\s*\\-\\s*\\d+\\s*,?|\\s*\\d+\\s*,?)+$");
发布于 2016-03-16 06:08:20
我觉得你需要这个
^((?:\d+(?:-\d+)*)(?:,\s(?:\d+(?:-\d+)*))*)$输入
1
1-2
-2
1, 2-3, 4, 5-7
1 2, 3
1-2-2
10-15
2-10输出
MATCH 1
1. `1`
MATCH 2
1. `1-2`
MATCH 3
1. `1, 2-3, 4, 5-7`
MATCH 4
1. `1-2-2`
MATCH 5
1. `10-15`
MATCH 6
1. `2-10`https://stackoverflow.com/questions/36027696
复制相似问题