我试图匹配字符串中的双花括号内的所有内容.我使用以下表达式:
\{\{.*\}\}
Run Code Online (Sandbox Code Playgroud)
一些例子:
The {{dog}} is not a cat. 这正确匹配{{dog}}
但是,
The {{dog}} is a {{cat}}匹配第一场比赛后的所有内容,而不是返回两场比赛.我希望它匹配两次,一次用于{{dog}},一次用于{{cat}}
有谁知道如何做到这一点?
谢谢.
贪婪.*匹配任何东西(换行符除外),所以当}}字符串中有多个时,它总是匹配最后一个}}(如果没有\r,则\n两者之间}}!).
尝试使.*匹配不情愿(ungreedy)像这样:
\{\{.*?}}
Run Code Online (Sandbox Code Playgroud)
这是正确的,你无需逃避}.
你也可以这样做:
\{\{[^}]*}}
Run Code Online (Sandbox Code Playgroud)
如果a {{ ... }}不能包含单个}本身.