var text = "pgPag.append('<li><a title=\"' + __('First') + '\" href=\"#\"><<</a></li>'); pgPag.append('<li><a title=\"' + __('Previous') + '\" href=\"#\"><</a></li>'); pgPag.append('<li><label> ' + __('Page') + ' </label><input type=\"text\" size=\"1\" /><label> </label></li>'); pgPag.append('<li><a title=\"' + __('Next') + '\" href=\"#\">></a></li>'); pgPag.append('<li><a title=\"' + __('Last') + '\" href=\"#\">>></a></li>');";
var exp = '(?:(\'[a-z]*\'))';
var re = new RegExp(exp,["img"]);
var match = re.exec(text);
document.write(match);
现在我怎么能打印像“__”这样的字符串,例如“First”,“Previous”,“Page” 使用上面的代码,我只能获得第一个字符串,即“First”而不是剩余的字符串。
必需输出:
首先 以前 页 下一个 最后
答案 0 :(得分:1)
有两个问题:
一: new RegExp(exp,["img"]);
的第二个参数需要是字符串,而不是数组。因此:
var re = new RegExp(exp, "img");
是你所追求的。或者,更好的是:
var re = /(?:('[a-z]*'))/img // This is a regular expression literal
二:像Mike所说:使用text.match(re)
来获取整个字符串中的匹配数组。 re.exec
一次只会给你一场比赛。
答案 1 :(得分:0)
而不是
var match = re.exec(text);
DO
var matches = text.match(re);