gpt4 book ai didi

javascript - 匹配字符串开头的正则表达式应该是什么

转载 作者:行者123 更新时间:2023-12-03 05:21:12 24 4
gpt4 key购买 nike

我有一个类似的字符串,我想只匹配每个 {{xxxx}} 模式的第一个“{”

{{abcd}}{{efg}}{{hij}}

{{abcd}}{{efg}}{{hij}}{

我尝试使用 /(\s|^|.){/g 但此模式匹配

{{abcd}}{{efg}}{{hij}}

有人可以引导我走向正确的方向吗

最佳答案

您需要使用 /(^|[^{]){/g (匹配并捕获到组 1 字符串开头或 { 以外的任何字符,然后匹配 { )并检查组 1 是否在每个 RegExp#exec 处匹配。迭代。然后,如果组 1 匹配,则增加匹配索引:

var re = /(^|[^{]){/g;
var str = "{{abcd}}{{efg}}{{hij}}\n{{abcd}}{{efg}}{{hij}}{";
// 0 8 15 23 31 38 45
var m, indices = [];
while ((m = re.exec(str)) !== null) {
indices.push(m.index + (m[1] ? 1 : 0));
}
console.log(indices);

关于javascript - 匹配字符串开头的正则表达式应该是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41375990/

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