JavaScript RegExp与ElementId匹配

时间:2016-06-01 08:17:13

标签: javascript regex jsplumb

我需要将elementId与以elementId开头的任何其他子元素ID相匹配。例如, 子元素的ID标记为1-1,1-2,...,4-5,...,8-13等。 所以,如果元素ID是2,我需要通过过滤得到这个元素的所有子元素(结果应该是2-1,2-2,2-3 ......) 我尝试使用这种模式,但它不起作用。

tuple

为了匹配这个我应该使用的RegExp模式是什么?我在下面提供了代码段。

var regEx = '/['+elementId+']*/';
//elementsId is a var derived from a previous expression

2 个答案:

答案 0 :(得分:0)

您可以使用构造函数构建regexp,因为您知道需要手动转义特殊字符:link

var ids = ["1-1", "2-1", "2-2", "3-1", "3-2", "3-3", "3-4", "3-5"];

var buildRegex = function(id) {
  return new RegExp(id + '\\-\\d+');
}

for (var i = 1; i <= 3; ++i) {
  var reg = buildRegex(i);
  for (var k = 0; k < ids.length; ++k) {
    if (reg.test(ids[k])) {
      console.log(ids[k] + " is a sub element of " + i);
    }
  }
}

答案 1 :(得分:0)

我认为你的正则表达式应该等于:'^' + elementId + '-' 这将检查以elementid开头的元素 -