gpt4 book ai didi

javascript - 使用2种不同格式检测URL正则表达式

转载 作者:行者123 更新时间:2023-12-03 12:29:08 26 4
gpt4 key购买 nike

我正在解析URL的消息,但是这些URL有2种不同的格式。要么:[http://www.google.co.uk Google],要么只是普通的http://www.google.co.uk

我最初在URL上进行匹配,然后尝试查看链接是否包含在方括号中,然后根据此进行输出,但是应用程序崩溃而没有错误。请在下面查看我尝试过的内容。我看不到我要去哪里错了。

var pattern = /(http.*?)/g;

var match = pattern.exec(message);

while (match) {
var osu_pattern = /\[(http.*?) (.*?\]?)\]/g;
var osu_match = osu_pattern.exec(message)
if (osu_match)
{
message = message.replace(osu_match[0], `<a href='#' title='${osu_match[1]}' class='link link-external' data-link='${osu_match[1]}'>${osu_match[2]}</a>`);
osu_match = pattern.exec(message);
}
else
{
message = message.replace(match[0], `<a href='#' title='${match[0]}' class='link link-external' data-link='${match[0]}'>${match[0]}</a>`);
match = pattern.exec(message);
}
}

最佳答案

对于这两种变体,您的模式都可以

var osu_pattern = /\[(http[^[ ]+?)(?: [^[]+?)\]/g;
var normal_pattern = /(http[^,"' ]+?)[,"' ]/g;

[,“']-在这里您可以添加所有可以结束您的URL的符号

对于您的崩溃,这可能是代码中的 无限循环

关于javascript - 使用2种不同格式检测URL正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48988876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com