我需要一个RegEx模式来匹配任何/所有看起来像{!(。*)}
的实例我尝试过以下方法: 即。 var mergefield_array = value.match(patt);
其中value =' {!lat},{!lng}' 和patt = / {!(。*)} /
它会返回一个结果:{!lat},{!lng} 但我希望在这种情况下返回两场比赛(' {!lat}'和' {!lng}')。
我该怎么做?
科林G答案 0 :(得分:2)
由于使用了.*
,所以你的正则表达式本质上是贪婪的,因此首先匹配{
到最后}
,在途中抓住任何东西。
要解决问题,你可以让它变得非贪婪:
patt = /{!(.*?)}/g
或使用否定:
patt = /{!([^}]*)}/g