簡體   English   中英

正則表達式匹配連續的大括號

[英]Regex matching contiguous curly brackets

我試圖匹配HTML中的一些花括號,用於使用正則表達式自定義構建的客戶端模板。 我有它工作,除了在一個案例中有2個或更多匹配的字符串彼此相鄰。

我想要匹配的字符串是:

{{+ANYTEXT}}

正在使用的正則表達式是:

{{\s*\+\S*\s*}}

所以下面的例子:

<div class="rows"> 
    {{#Rows}} ssss1212XXXX {{+Anything.More.Evenmore}}$ssds {{/Rows}} 
</div> 
<div class="actions"> 
    {{#Actions}} ss[{{+UI.Action1}} {{+UI.Action2}} sdfsf {{/Actions}} 
    {{#Actions}} sss{{+UI.Action3}}{{+UI.Action4}} sdfsf {{/Actions}} 
</div>

匹配第一個實例:{{+ Anything.More.Evenmore}}; 作為單獨匹配的下兩個動作,Action1和Action2 BUT將最后兩個動作匹配為一個匹配。

所以我試圖找出如何將{{+ ANYTEXT}}與除}和{之外的任何內容匹配,但不包括在匹配中。 不幸的是我失敗了。 任何幫助非常感謝。

\\S*添加一個問號,使其不那么貪婪並且有效。 測試

/{{\s*\+\S*?\s*}}/g

你可以使用正則表達式:

({{\s*\+[^}]*\s*}})

DEMO

說明:

在此輸入圖像描述

小提琴演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM