Javascript 用于过滤掉某些字符组的正则表达式

Javascript 用于过滤掉某些字符组的正则表达式,javascript,regex,Javascript,Regex,我试图构造一个regexp,它遍历字符串并返回不属于标记代码的匹配项 到目前为止尝试了不同的方法,但只要标记是{{},它就会忽略{{}},但会返回括号内的单词 (\w+(?<!{{.}})) 我希望它返回以下4个匹配的组: apa banan apple citrus apelsin mango korsbar 如果上述方法不可行,则以下7个匹配组也将起作用: apa banan apple citrus apelsin mango korsbar 类似于用html替换标记,但它应该

我试图构造一个regexp,它遍历字符串并返回不属于标记代码的匹配项

到目前为止尝试了不同的方法,但只要标记是
{{}
,它就会忽略
{{}}
,但会返回括号内的单词

(\w+(?<!{{.}}))
我希望它返回以下4个匹配的组:

apa
banan apple
citrus apelsin
mango korsbar
如果上述方法不可行,则以下7个匹配组也将起作用:

apa
banan
apple
citrus
apelsin
mango
korsbar
类似于用html替换标记,但它应该提取除标记以外的所有内容,而不是替换


(标记代码当然可以更改,因此它需要使用{something}删除任何内容)

字符串可以由
{.*?}
正则表达式拆分。这将获得数组中两个花括号中的字符串以外的字符串

正则表达式是惰性的,因此它将在第一次出现
}
时停止

str.split(/{{.*?}}/)
var str='apa{{{abc}}banan apple{{{def}}柑橘apelsin{{{ghi}}芒果korsbar';
var arr=str.split(/{{.*.}}/);

控制台日志(arr)(\w)吗+(?在JS代码内部,没有收到任何警告/错误?JS正则表达式不支持lookbehind。按照Tushar显示的拆分应该适合您。我使用以下工具进行测试,并在测试时在PHP中使用了它。很抱歉造成混淆。@Tushar这与我想要的相反,因为它捕获了标记代码内部的内容。我想完全包含标记代码。这就是我使用split的原因。请在链接演示的控制台中查看结果。
str.split(/{{.*?}}/)