使用Regex在JavaScript中的第三个嵌套引用级别

时间:2015-08-12 22:19:19

标签: javascript regex quotes

我试图在JavaScript中创建一个RegExp对象,但由于引用限制而无法实现。我正在使用dataCellsText属性搜索我已经转换为字符串outerHTML的HTML文档的一部分。

由于它是一个HTML文档,我有时会在"'引号之间切换,我想我会检查两者,因此{{1} }。但["']是阻止我这样做的原因。我需要使用构造函数["'],因为我需要在表达式中插入一个变量,这意味着我必须用new RegExp()"引号括起表达式,这两个引号都是已经采取了。

鉴于这一切,我需要的是第三个引用级别。我知道',但我认为这会干扰正则表达式。我也知道\"...\",但这不是XML或HTML,因此也不适用。

以下是我的正则表达式代码已经变得混乱(语法突出显示将进一步说明我的观点):

"

有没有办法摆脱这种报价雪崩?如前所述,第三种类型的引用将是我需要的,但看起来没有这样的东西可以在这种情况下起作用。

1 个答案:

答案 0 :(得分:1)

知道变量只包含整数,您不需要escape函数,但仍需要使用双反斜杠来转义正则表达式元字符。

var cellCoordsX = "300"
var regexXSearch = new RegExp("<div id=[\"'](\\w+-*\\w*)[\"']\\sdata-cell-x=[\"']" + cellCoordsX + "[\"']>", "g");
alert("<div id=\"123-Ac_fg\" data-cell-x=\"300\">".match(regexXSearch));