JavaScript 中使用正则表达式的第三个嵌套引用级别
Third Nested Quoting Level in JavaScript with Regex
我正在尝试在 JavaScript 中创建一个 RegExp 对象,但由于引用限制无法创建。我正在使用 outerHTML
属性.
搜索已转换为字符串 dataCellsText
的 HTML 文档的一部分
因为它是一个 HTML 文档,而且我有时倾向于在 "
和 '
引号之间切换,我想我会检查两者,因此 ["']
。但是 ["']
是阻止我这样做的原因。我需要使用构造函数 new RegExp()
,因为我需要在表达式中插入一个变量,这意味着我必须用 "
或 '
引号将表达式括起来,这两个引号都是已经拍了。
考虑到所有这些,我需要的是第三个引用级别。我知道 \"...\"
,但我认为这会干扰正则表达式。我也知道 "
,但这不是 XML 或 HTML,所以这也不适用。
下面是我的正则表达式乱码(语法高亮会进一步说明我的观点):
var regexXSearch = new RegExp("<div id=["'](\w+-*\w*)["']\sdata-cell-x=" + cellCoords.x + ">", "g");
var regexXResults = regexXSearch.exec(dataCellsText);
有没有办法摆脱这种报价雪崩?如前所述,我需要第三种类型的引述,但在这种情况下似乎没有这样的引述。
知道变量只包含整数,你不需要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));
我正在尝试在 JavaScript 中创建一个 RegExp 对象,但由于引用限制无法创建。我正在使用 outerHTML
属性.
dataCellsText
的 HTML 文档的一部分
因为它是一个 HTML 文档,而且我有时倾向于在 "
和 '
引号之间切换,我想我会检查两者,因此 ["']
。但是 ["']
是阻止我这样做的原因。我需要使用构造函数 new RegExp()
,因为我需要在表达式中插入一个变量,这意味着我必须用 "
或 '
引号将表达式括起来,这两个引号都是已经拍了。
考虑到所有这些,我需要的是第三个引用级别。我知道 \"...\"
,但我认为这会干扰正则表达式。我也知道 "
,但这不是 XML 或 HTML,所以这也不适用。
下面是我的正则表达式乱码(语法高亮会进一步说明我的观点):
var regexXSearch = new RegExp("<div id=["'](\w+-*\w*)["']\sdata-cell-x=" + cellCoords.x + ">", "g");
var regexXResults = regexXSearch.exec(dataCellsText);
有没有办法摆脱这种报价雪崩?如前所述,我需要第三种类型的引述,但在这种情况下似乎没有这样的引述。
知道变量只包含整数,你不需要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));