-2

我需要一个 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 

不匹配的值是prop76, evar100。简而言之,我想识别s.prop1-76s.evar1-75(带或不带“s”)的字符串

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

谢谢!

4

2 回答 2

1

可能很难匹配数字范围。我建议您匹配所有情况,然后拆分数字,将其转换为 (int) 并使用(x >= 1) AND (x <= 75). 这将为您省去尝试让正则表达式匹配每种可能性的麻烦

于 2013-09-28T06:10:12.293 回答
0

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

/"((s\.)?(prop|evar)([1-6]\d|7[0-5]|[1-9]))"/i
于 2013-09-28T05:48:20.580 回答