[英]Sublime Text: complicated regex - search and replace
我想做一個快速測試,看看<span ng-bind="test.id"></span>
是否比使用{{test.id}}
進行數據綁定更好。 我是否可以在整個應用的正則表達式中做到這一點?
我必須確保它不會替換<div id="chat-{{otherPerson.id}}" ...>
之類的標記內的變量,因此它只能替換<div class="message">{{message.body}}</div>
。
我還需要能夠檢查是否使用了過濾器: {{ otherPerson | fullname}}
{{ otherPerson | fullname}}
使用regex甚至可以實現,還是我需要編寫一個艱巨的任務來解決呢?
我相信您應該可以使用這種正則表達式
/([^'"])\{\{([^\}|]+)\}\}/gi
並替換為
'$1<span ng-bind="$2"></span>'
希望能幫助到你!
我認為您可以使用此正則表達式:
/(^|(>[^\<]*)|(^[^\<]*))(\{\{[^\{\}]*\}\})/igm
並使用其替換$4
。
如果我沒錯,您想更換
>\s*\{\{([^|}<]+)\}\}
與
ng-bind="\1">
請注意,替換項在前面有空間。
對於過濾器箱,您可以更換
>\s*\{\{([^|}<]+\|[^|}<]+)\}\}
與
ng-bind="(\1)">
您可以嘗試多次通過方法
"(.*)\\{\\{([^\\|]+?)\\}\\}(.*)"
替換為"$1[[[$2]]]$3"
\\{\\{\\s*([^\\|]+?)\\s*\\}\\}
替換為<span data-bind="$1"></span>
\\[\\[\\[
用{{
\\]\\]\\]
替換為}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.