2013-09-28 84 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)進行正常檢查。這將爲您節省嘗試讓正則表達式匹配所有可能性的頭痛

相關問題