javascript - 正则表达式匹配不起作用

标签 javascript regex

所以我想要匹配的是任何以“.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/

相关文章:

javascript - 更改html中的href

javascript - 指定的插件 0,提供了 "default"的无效属性(Jest React Native)

php - 如何解析这些字符串

javascript - 如何使<select>元素的宽度与<div>元素成比例

javascript - 如何隐藏被单击按钮上的面板?

javascript - 输入选择变量

regex - 使用正则表达式提取 OTP key

php - 哪个是我的 PHP 应用程序的正确设计模式?

具有 10 多个组的 Java 正则表达式

c# - 查找和替换 RegEx 问题