Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex只显示了一个结果,我怎样才能让它用JavaScript显示其余的结果呢_Javascript_Regex - Fatal编程技术网

Regex只显示了一个结果,我怎样才能让它用JavaScript显示其余的结果呢

Regex只显示了一个结果,我怎样才能让它用JavaScript显示其余的结果呢,javascript,regex,Javascript,Regex,我在google上和这里搜索了一段时间,我找不到非常有用的帖子,所以我有一个脚本,它获取每个类名id值,并将其放入变量调用strtext中,所以稍后我使用regex 输出var输出的值,但我注意到它只是将var输出结果显示为一个匹配项,仅显示 a 那么我如何让regex部分显示其余的匹配项呢。 我指的是这个 document.querySelector('#output-2').innerHTML= output; 这是我的密码 var name=document.querySelector

我在google上和这里搜索了一段时间,我找不到非常有用的帖子,所以我有一个脚本,它获取每个类名id值,并将其放入变量调用strtext中,所以稍后我使用regex

输出var输出的值,但我注意到它只是将var输出结果显示为一个匹配项,仅显示

a

那么我如何让regex部分显示其余的匹配项呢。 我指的是这个

document.querySelector('#output-2').innerHTML= output;
这是我的密码

var name=document.querySelectorAll.name'; var text=新数组; var-strtext=; 对于var i=0;i亚当

鲍勃

甘蔗

编辑

弗雷德

基因

您需要多次调用“pattern.exec”,只要调用成功,如下所示:

var output = "";
var match = pattern.exec(string);
while (match !== null && match.length)
{
    output += match[1];
    match = pattern.exec(string);
}
document.querySelector('#output-2').innerHTML = output;

这应该可以得到所有结果。

如果您可以依赖于名称与名称相似而不包含方括号(例如),那么您可以使用正则表达式匹配(对于非括号字符)一次获得所有结果,并对[a]进行前瞻

您还可以使用点符号来访问元素的id,这比使用getAttribute'id'容易得多

此外,除非您有意插入HTML标记,否则将文本内容指定给textContent来指定文本内容比使用innerHTML更快、更安全、更可预测:

var name=document.querySelectorAll.name'; var text=新数组; var-strtext=; 对于var i=0;i亚当

鲍勃

甘蔗

编辑

弗雷德

基因


非常感谢您的回复,但遗憾的是,您的建议中有一个错误。这是未捕获的语法错误:当var match=pattern.execstring!==null这是我放的//显示所有正则表达式匹配var string=strtext;变量模式=/[.]ig;var输出=;而var match=pattern.execstring!==null{output+=match[1];}document.querySelector'output-2'.innerHTML=output;我已经做了一个小的编辑,希望它现在工作。