我试图匹配字符串中的双花括号内的所有内容.我使用以下表达式:
\{\{.*\}\}
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 {{ ... }}
不能包含单个}
本身.
归档时间: |
|
查看次数: |
5516 次 |
最近记录: |