簡體   English   中英

如何在正則表達式中捕獲if語句塊和名稱塊

[英]How to catch if-statement block and name block in regular expressions

如何捕獲if語句塊。 我在一個命名組中捕獲了else語句塊。 我目前的解決方案是在這個永久鏈接: http: //regexhero.net/tester/?id = 7663e386-fcc0-4f19-b613-e9e58374a5d7

@if\([^)]*\)\s*{(((?>(?<open>@if\([^)]*\)\s*{)|@{[^}]*}|[^}@]+|(?:}else{(?<else>([^}]*))(?=}endif@))|(?<-open>}endif@)))*(?(open)(?!)))}endif@

語句塊內的內容與html相關。

@if(prevbutton.visible=='True'){
    <div style="float:left; display:inline; margin-right: 5px; padding-top:7px;">
        <span class="arrows_prev" id="prevbottom" title="@{prevbutton.toindex}" rel="prev" data-page-number="@{prevbutton.toindex}"></span>
    </div>
}else{
    test
}endif@

采取另一種方法來解決問題。 這是我的解決方案:

(?<if_else>(?<=@if\([^)]*\){).*(?=}else{))|(?<if>(?<=@if\([^)]*\){).*(?=}endif@))|(?<else>(?<=}else{)[^}]*(?=}endif@))

暫無
暫無

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

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