Javascript 要在括号中提取的正则表达式
Javascript regex to extract in brackets
我正在处理在 运行 时创建的一些 html,我需要在 Javascript 中使用正则表达式获取文本。 html 有一个包含一些文本的编辑框,以及一个如下所示的图像标签:
<img src="http://server/directory/subdirectory/Images1/logo_aa.png" alt=" logo_ce" data-tag=" [[image: logo_aa]] ">
我需要能够提取“[[image: logo_aa]]”部分,然后用它替换整个 html 图像标签。但是或者出于某种原因,当我 运行 时,正则表达式只会得到 "a]" 。这是我正在使用的代码示例:
var imgHtmlPattern = new RegExp("<img[^>]*?>", "g");
var imageTagPattern = new RegExp("\[\[Image:\s\S+\]\]", "i");
var str = 'A whole paragraph of text here. <img src="http://server/directory/subdirectory/Images1/logo_aa.png" alt=" logo_ce" data-tag=" [[image: logo_aa]] ">';
var matches = str.match(imgHtmlPattern);
for (i = 0; i < matches.length; i++) {
var test = imageTagPattern.exec(matches[i]);
alert(test);
// var tag = matches[i].match(imageTagPattern);
// alert(tag);
}
var imageTagPattern = new RegExp("[[Image:\s\S+]]", "i");
您需要使用双 \
来创建 RegExp
对象:
var imageTagPattern = new RegExp("\[\[Image:\s\S+\]\]", "i");
或者只使用正则表达式:
var imageTagPattern = /\[\[Image:\s\S+\]\]/i;
我正在处理在 运行 时创建的一些 html,我需要在 Javascript 中使用正则表达式获取文本。 html 有一个包含一些文本的编辑框,以及一个如下所示的图像标签:
<img src="http://server/directory/subdirectory/Images1/logo_aa.png" alt=" logo_ce" data-tag=" [[image: logo_aa]] ">
我需要能够提取“[[image: logo_aa]]”部分,然后用它替换整个 html 图像标签。但是或者出于某种原因,当我 运行 时,正则表达式只会得到 "a]" 。这是我正在使用的代码示例:
var imgHtmlPattern = new RegExp("<img[^>]*?>", "g");
var imageTagPattern = new RegExp("\[\[Image:\s\S+\]\]", "i");
var str = 'A whole paragraph of text here. <img src="http://server/directory/subdirectory/Images1/logo_aa.png" alt=" logo_ce" data-tag=" [[image: logo_aa]] ">';
var matches = str.match(imgHtmlPattern);
for (i = 0; i < matches.length; i++) {
var test = imageTagPattern.exec(matches[i]);
alert(test);
// var tag = matches[i].match(imageTagPattern);
// alert(tag);
}
var imageTagPattern = new RegExp("[[Image:\s\S+]]", "i");
您需要使用双 \
来创建 RegExp
对象:
var imageTagPattern = new RegExp("\[\[Image:\s\S+\]\]", "i");
或者只使用正则表达式:
var imageTagPattern = /\[\[Image:\s\S+\]\]/i;