我正在使用一些在运行时创建的html,我需要在Javascript中使用正则表达式获取文本。 HTML是否已包含一些文本编辑框,看起来像这样的图像标签:Javascript正则表达式在括号中提取
<img src="http://server/directory/subdirectory/Images1/logo_aa.png" alt=" logo_ce" data-tag=" [[image: logo_aa]] ">
我需要能够提取“[[图像: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);
}
变种imageTagPattern =新正则表达式( “[[图片:\ S \ S +]]” 中, “i”);
[regex101.com是伟大的,测试你的正则表达式](https://regex101.com/r/eD2yV3/1) – Moob 2015-01-15 16:55:48
http://jsfiddle.net/30t26f1c/ – Moob 2015-01-15 17:00:05
这是一个伟大的坐即谢谢你的提示! – 3CATTS 2015-01-15 17:01:19