gpt4 book ai didi

javascript - RegEX 用于解析和循环多个自定义标签

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

我试图通过循环遍历每个 matcc 来解析以下数据,但表达式正在抓取第一个 [FILE] 一直到最后一个 [/FILE]。我希望它迭代每个自定义标签。

数据:

"[FILE]file_1.png[/FILE]<br /><br /><br />[FILE]file_2.png[/FILE]"

结果:

file_1.png<br /><br /><br />file_2.png`

.

    var urlRegex = /(\[FILE\]).*(\[\/FILE\])/ig;
text = text.replace(urlRegex, function(url) {

url = url.replace(/\[.?FILE\]/ig, "");

var path = "./uploads/" + $('#CURRENT_FOLDER_UID').val() + "/";
var res = "";

arr = url.split(".");
ext = (arr[arr.length - 1]).toLowerCase();

if (img.indexOf(ext) > -1) {
//url = encodeURI(url);
res = '<img src="' + path + encodeURI(stripHTML(url)) + '" />';
} else {
res = '<a href="' + path + encodeURI(stripHTML(url)) + '" target="_blank">' + url + '</a>';
}

return res;
});

最佳答案

(\[FILE\]).*?(\[\/FILE\])

试试这个。通过在 * 之后添加 ? 使您的 * 非贪婪。* 默认情况下是贪婪的。它将直到最后一个 `[/文件]

您也可以尝试\[FILE\]|\[\/FILE\]

查看演示。

http://regex101.com/r/kP8uF5/4

var re = /\[FILE\]|\[\/FILE\]/gm;
var str = '[FILE]file_1.png[/FILE]<br /><br /><br />[FILE]file_2.png[/FILE]';
var subst = '';

var result = str.replace(re, subst);

关于javascript - RegEX 用于解析和循环多个自定义标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26891550/

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