我目前正在处理一组组件(http://github.com/bredele),您可以组装这些组件以获得与某些JavaScript框架中相同的功能,例如Olives.js,Canjs或Angular。
其中一个组件允许您将实时dom绑定到带有把手的对象。我使用正则表达式(/ {([^}] +)} / g)仅匹配简单的把手。我想匹配双把手如下:
之前:
{label} //返回'标签'
后:
{label} //返回'标签'
{{label}} //返回'{label}'
正则表达式应该允许两个用例。有什么想法吗?
Thanls
答案 0 :(得分:7)
/{([^{}]+)}/g
应该有您描述的行为:
"cat dog".replace(/{([^{}]+)}/g, "$1") => "cat dog"
"{cat} {dog}".replace(/{([^{}]+)}/g, "$1") => "cat dog"
"{{cat}} {{dog}}".replace(/{([^{}]+)}/g, "$1") => "{cat} {dog}"