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