所以我想要匹配的是任何以“.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来帮忙。
最佳答案
使用
var reg = new RegExp(".*\." + inputName);
方括号的意思是:一个字符,即括号内的字符之一。但是您需要几个字符,首先是一个点,然后是 inputName
的第一个字符,等等。
关于javascript - 正则表达式匹配不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18365021/