Javascript 使用正则表达式提取url而不合并
我使用下面的代码从名为description的字符串变量中提取URL。它可以工作,但会合并重复的URLJavascript 使用正则表达式提取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+&@#\/%=~_|$
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显示的次数相同,似乎我的字符串有一些问题,而不是代码中的正则表达式。让我检查一下,并确认我想评论的是,代码没有问题,这是输入字符串的问题。谢谢你的反馈和帮助。没问题,如果你不介意接受我的答案,并在我的答案旁边加上支票,我将不胜感激@加尔文