Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Javascript 使用正则表达式提取url而不合并_Javascript_Regex - Fatal编程技术网

Javascript 使用正则表达式提取url而不合并

Javascript 使用正则表达式提取url而不合并,javascript,regex,Javascript,Regex,我使用下面的代码从名为description的字符串变量中提取URL。它可以工作,但会合并重复的URL let geturl = new RegExp(/(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$

我使用下面的代码从名为description的字符串变量中提取URL。它可以工作,但会合并重复的URL

let geturl = new RegExp(/(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])/igm);

let urlExtracted = description.match(geturl);
是否有任何方法可以更改代码,以便我可以按照URL在变量中的查找顺序提取所有URL,即使它们是重复的?

从字符串和模式创建一个标记,然后将该标记对象转换为列表

我刚意识到我建议的答案和你的问题用的代码是一样的。但我尝试了您在中使用的代码,无法用以下示例复制错误:

var y = "https://www.youtube.com/watch?v=tIM-kdmKhnE  https://codepen.io/hellopravin/pen/NqLgqB  hi https://stackoverflow.com/questions/8441915/tokenizing-strings-using-regular-expression-in-javascript  https://www.youtube.com/watch?v=tIM-kdmKhnE";
var regex = /(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])/igm;

var match = y.match(regex);
//document.write(Array.from(match));
document.write(match);

你能提供一个例子和预期输出的列表吗?你应该展示一些代码,使你的答案更好。谢谢,你的代码的输出是什么?www.youtube.com的URL。。。。只出现一次,对吗?我希望URL显示的次数与我刚刚检查的文本中的URL显示的次数相同,似乎我的字符串有一些问题,而不是代码中的正则表达式。让我检查一下,并确认我想评论的是,代码没有问题,这是输入字符串的问题。谢谢你的反馈和帮助。没问题,如果你不介意接受我的答案,并在我的答案旁边加上支票,我将不胜感激@加尔文