Javascript正则表达式匹配具有数字范围的特定字母组合

时间:2014-05-20 11:54:26

标签: javascript regex

我想要一个只匹配这些字符串的javascript regexp:

“XS1” “XS2” “XS3” ...等等到“xs24”

“S1” “S2” “S3” ...等一直到“s24”

“M1” “M2” “M3” ...等等到“m24”

“L1” “L2” “L3” ......等一直到“l24”

“XL1” “XL2” “XL3” ...等一直到“xl24”

E.g。 “xs20”应返回true,但“xs0”和“xs25”应返回false。

我试过

/^(xs|s|m|l|xl)[1-24]$/ 

但这并不是我想要的工作原因,因为“xs24”会返回false

1 个答案:

答案 0 :(得分:2)

您正在使用

走上正轨
/^(xs|s|m|l|xl)[1-24]$/

除了[1-24]12的范围或字符4匹配。相反,你需要:

/^(xs|s|m|l|xl)(1?[1-9]|10|2[0-4])$/

这将匹配19之间的字符,有或没有1前缀,102后跟0中的数字到4。