gpt4 book ai didi

javascript - javascript正则表达式不是懒惰的吗?

转载 作者:行者123 更新时间:2023-11-28 13:25:39 25 4
gpt4 key购买 nike

假设我有输入值:

var input_value = "** foo ** bar **";

然后我运行这个:

input_value = input_value.replace(/(\*\*)([\S\s.]+)(\*\*)/g,replacer_markup);

function replacer_markup(match, p1, p2, p3, offset, string) {
var pre = '';
var post = '';
if (p1 == '**')
{
pre = '<b>';
post = '</b>';
}
return pre+p2+post
}

它会给我:

foo ** bar

但我想要:

foo bar **

我想要得到尽可能小的结果。我怎样才能实现这个目标?

很抱歉有任何拼写错误,我不是母语人士。感谢您抽出时间。

最佳答案

+greedy运算符——它告诉引擎尽可能多地匹配,并且仍然允许正则表达式的其余部分匹配。使用 +? 进行非贪婪匹配,意思是“一个或多个 - 最好尽可能少”。此外,您还可以从字符类中排除 .

([\S\s]+?)

关于javascript - javascript正则表达式不是懒惰的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29481925/

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