2013-08-21 55 views
0

所以我想匹配的是任何以「.ProjectName」結尾的東西,所以我寫了一個小測試用例。我故意使用RegExp創建模式,因爲在真實情況下,我將使用一個變量作爲reg ex模式的一部分。我不確定我的模式是否不正確(90%確定它是正確的),或者我濫用了匹配功能(70%確定我正在起訴它)。這一擊代碼返回我的東西時,第二種情況notMatchName不應該返回我什麼正則表達式匹配不起作用

var inputName = "ProjectName"; 
var matchName = "userInput_Heading.Heading.ProjectName"; 
var notMatchName = "userInput_Heading.Heading.Date"; 
var reg = new RegExp(".*[." + inputName + "]"); 
console.log(reg); 
console.log(matchName.match(reg)); 
console.log(matchName.match(reg)[0]); 
console.log(notMatchName.match(reg)); 
console.log(notMatchName.match(reg)[0]); 

這裏是JsFiddle幫助。

回答

2

使用

var reg = new RegExp(".*\." + inputName); 

方括號的意思:一個字符,這是那些括號內的一個。但是你要幾個characzters,第一點,那麼inputName第一個字符等

+0

@FrankPI摑我傻了,叫我舅舅,這是愚蠢的我。呃哈哈。 –

1

正則表達式應該是.*\.projectName

,如果你重寫你的聲明將是

var reg = new RegExp(".*\." + inputName) 
相關問題