我想做一个快速测试,看看<span ng-bind="test.id"></span>
是否比使用{{test.id}}
进行数据绑定更好。有没有办法在整个应用程序的正则表达式中做到这一点?
我必须确保它不会替换<div id="chat-{{otherPerson.id}}" ...>
之类的标记内的变量,因此它只会替换<div class="message">{{message.body}}</div>
之类的内容。
我还需要能够检查是否使用了过滤器:{{ otherPerson | fullname}}
这是否可以使用正则表达式,或者我是否需要编写一个繁琐的任务来处理它?</ p>
答案 0 :(得分:1)
我相信你应该可以使用这种类型的正则表达式
/([^'"])\{\{([^\}|]+)\}\}/gi
并替换为
'$1<span ng-bind="$2"></span>'
希望它有所帮助!
答案 1 :(得分:0)
我认为你可以使用这个正则表达式:
/(^|(>[^\<]*)|(^[^\<]*))(\{\{[^\{\}]*\}\})/igm
并使用其替换$4
。
答案 2 :(得分:0)
如果我找对你,你想要替换
>\s*\{\{([^|}<]+)\}\}
与
ng-bind="\1">
请注意,替换位置前面有空格。
对于过滤器案例,您可以替换
>\s*\{\{([^|}<]+\|[^|}<]+)\}\}
与
ng-bind="(\1)">
答案 3 :(得分:0)
您可以尝试多次通过方法
"(.*)\{\{([^\|]+?)\}\}(.*)"
替换为"$1[[[$2]]]$3"
\{\{\s*([^\|]+?)\s*\}\}
将其替换为<span data-bind="$1"></span>
\[\[\[
替换为{{
\]\]\]
替换为}}