Javascript 正则表达式包含

标签 javascript regex

我正在使用 Javascript RegEx 来比较字符串是否与标准格式匹配。

我有一个名为 inputName 的变量,它具有以下格式(示例):

input[name='data[product][tool_team]']

我想用 Javascript 的正则表达式实现的是确定字符串是否具有以下内容,但在括号之间包含 _team

我尝试了以下方法:

var inputName = "input[name='data[product][tool_team]']";
var teamPattern = /\input[name='data[product][[_team]]']/g;
var matches = inputName.match(teamPattern);
console.log(matches);

我只是以我给出的结果作为例子得到空值。 老实说,RegEx 并不是我真正的领域,所以我认为这是错误的。

最佳答案

有几件事:

  1. 您需要转义 [],因为它们在正则表达式中具有特殊含义

  2. 如果您想要允许任何内容,您需要在 _team 前面添加 .*(或者可能是 [^[]*) ([^[]* 表示“除了 [ 重复零次或多次)之外的任何内容”

如果您只想知道它是否匹配,例如:

var string = "input[name='data[product][tool_team]']";

var teamPattern = /input\[name='data\[product\]\[[^[]*_team\]'\]/;
console.log(teamPattern.test(string));

例如,如果您需要捕获xyz_team位:

var string = "input[name='data[product][tool_team]']";

var teamPattern = /input\[name='data\[product\]\[([^[]*_team)\]'\]/;
var match = string.match(teamPattern);
console.log(match ? match[1] : "no match");

关于Javascript 正则表达式包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48203278/

相关文章:

java - 根据用户字符串检查 IE 是否为 11,并从代理字符串中获取版本

regex - .htaccess:阻止访问文件并阻止目录浏览

javascript - 如何禁用 ng-grid 中的选择

javascript - 如何在不调整主要内容边距的情况下设置可折叠的侧边导航?

javascript - 找到什么 javascript 改变了 DOM?

java - 检查是否只有一个垂直条 |在一个字符串中?使用正则表达式

python - 如果 URL 以 .com 或 .net 结尾,则提取该 URL 的初始部分

regex - Logwatch ignore.conf 的多行正则表达式

javascript - 为什么在获取响应上使用解构赋值会导致 .json() 方法消失?

javascript - 如何自定义 Bootstrap JS Popover