2013-09-28 41 views
-2

我需要来检查以下内容的至REGx:的Javascript正则表达式或其他方法来检查值

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”)的字符串。

***只是为了说明它将是变量的全部值而不是子字符串。

谢谢!

+0

您可以发布您的正则表达式到目前为止,所以我们可以提供帮助吗? – elclanrs

+0

匹配SiteCatalyst属性? –

+0

什么分隔变量?空白?逗号?换行? – Sam

回答

0

JavaScript似乎不支持后视,所以这将不得不做。你需要提取第一个匹配来获得你想要的部分。

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

它也匹配's.s.prop1'。 :P – thefourtheye

+0

@thefourtheye,这是打算;它仍然实现了Michael要求的功能。他并没有说他只想在字符串和空白/换行符之间进行匹配或类似的操作。实际上,它实际上并不匹配*'s.s.prop1';它只匹配's.prop1'部分。 – Sam

+0

@像“prop76”,“s.propevar12”等Sam案件仍然评估为真 –

1

可能难以匹配数字范围。我建议你匹配所有情况,然后拆分数字,将其转换为(int),并用(x >= 1) AND (x <= 75)进行正常检查。这将为您节省尝试让正则表达式匹配所有可能性的头痛

相关问题