所以我想要匹配的是以“.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的帮助。
答案 0 :(得分:2)
使用
var reg = new RegExp(".*\." + inputName);
方括号表示:一个字符,它是括号内的一个字符。但是你需要几个特征,先是一个点,然后是inputName
的第一个字符,等等。
答案 1 :(得分:1)
您的正则表达式应为.*\.projectName
如果你重写你的陈述,那将是
var reg = new RegExp(".*\." + inputName)