[英]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.