gpt4 book ai didi

javascript - 混合文本/数字的 RegExp 头痛

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

我正在使用 Javascript 对来自数据库的数据进行“mustache light”模板化。数据如下所示:

As you can see in {{Figure 1-1}}, and again in {{Figures 1-2}} and {{1-3}}, the hozzfrazz is much cleaner than the hooble stick.

我的正则表达式是 \{\{[-a-zA-Z0-9\s]+\}\}/gi,在我看来它包含了上述所有的 mustache 。但是在我的函数中唯一被识别的是 {{1-3}},而不是其他两个。

有什么帮助吗?

显然我还需要添加我的函数,因为正则表达式有效:

var mReg = new RegExp("\{\{[-a-zA-Z0-9\s]+\}\}");
var link_tpl = "<a href='#' rel='@$' class='questionImageLink'>@@</a>";
var html = '';
var i = 1;
while (mReg.test(mText) === true) {
mText = mText.replace(mReg, function (f) {
var inner = f.substr(2, f.indexOf("}") - 2);
return link_tpl.replace("@@", inner).replace("@$", i);
}, "g");
i++;
}

最佳答案

我会这样做,使用更宽容的正则表达式和 replace 而不是 while 困惑。

var re = /\{\{([^{}]+)\}\}/g;
var results = [];

str.replace( re, function(a, b) { results.push(b); });

console.log(results); //=> ['Figure 1-1', 'Figures 1-2', '1-3']

演示: http://jsfiddle.net/elclanrs/fE3U3/

关于javascript - 混合文本/数字的 RegExp 头痛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243292/

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