Javascript正则表达式或其他检查值的方法

时间:2013-09-28 05:34:34

标签: javascript regex

我需要一个检查以下内容的regx:

starts with "prop" or "s.prop" or "evar" or "s.evar" 

immediately follows and ends with a number between 1-75

case insensitive

所以可能性是:

s.prop(1-75)
prop(1-75)
evar(1-75)
s.evar(1-75)

示例值:

prop1
prop23
prop75
s.prop44
evar36
s.evar60 

不匹配的值为prop76evar100。在坚果壳中,我想识别s.prop1-76s.evar1-75的字符串(带或不带“s”。)

***只是为了澄清它将是变量的整个值而不是子串。

谢谢!

2 个答案:

答案 0 :(得分:1)

匹配数字范围可能很困难。我建议你匹配所有情况,然后拆分数字,将其转换为(int)并正常检查(x >= 1) AND (x <= 75)。这样可以省去试图让正则表达式与每种可能性相匹配的麻烦

答案 1 :(得分:0)

JavaScript似乎不支持后视,因此必须这样做。您需要提取第一个匹配项以获得所需的部分。

/"((s\.)?(prop|evar)([1-6]\d|7[0-5]|[1-9]))"/i