gpt4 book ai didi

javascript - 正则表达式/g - 全局搜索标志不将结束标记计为下一个起始标记

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

我有一行文字是这样的:

    Hi %this% is the %text% I was talking about.

我想用其他文本替换 %this%%text%。我正在使用这个正则表达式:

str.replace(/(%)(.*)(%)/g, "something")

但这会替换三个 字符串%this%%text% 以及% 是%。是否有任何标志让 /g% 结束标记之后重新开始而不将其视为下一个开始标记?

最佳答案

问题是 .* 在你的正则表达式中太贪心了。

你可以使用否定:

var r = str.replace(/%[^%]*%/g, "something");
//=> Hi something is the something I was talking about

或者只匹配 % 之间的一个词:

var r = str.replace(/%\w*%/g, "something");

关于javascript - 正则表达式/g - 全局搜索标志不将结束标记计为下一个起始标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24710804/

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