[问题] regex exec二个大括号间字串问题

楼主: RichieRich (Richie)   2022-02-24 14:26:10
var b="{{dffdfdfdf}} {{eeeee}}" ,a;
while( a=/\{\{([^}]+)\}\}/g.exec(b))
{
}
我想取出所有{{}}的字串 请问这样为啥一直跑符合第一个patterm的地方
也就是无穷的回圈
但改用match就可以了?不过要自已把{{}}去掉
谢谢
作者: LPH66 (-6.2598534e+18f)   2022-02-24 15:33:00
你写一个 regex 在那里的话每次执行会新建一个 regex 物件你需要另起一个变量储存一个 regex 物件, 再用它来 .exec.exec 会在你所用的 regex 物件中纪录之前看到哪里了(纪录在那个物件的 .lastIndex 里面) 下次 .exec 时就可以从那个地方开始; 你这样写每次都新建自然都只给你第一个

Links booklink

Contact Us: admin [ a t ] ucptt.com