我正在尝试构建一个遍历字符串的regexp,并返回不属于标记代码的匹配项。
到目前为止尝试了不同的事情,但只要标记为{{ }}
,它就会忽略{{}}
但会返回括号内的字词。
(\w+(?<!{{.}}))
示例文字:
apa {{abc}} banan apple {{def}} citrus apelsin {{ghi}} mango korsbar
我希望它返回以下4个匹配的组:
apa
banan apple
citrus apelsin
mango korsbar
如果无法满足上述要求,则以下7个匹配的组也可以使用:
apa
banan
apple
citrus
apelsin
mango
korsbar
与使用html替换标记时的排序相同,但不是替换它应该提取除标记之外的所有内容。
(标记代码当然可以改变,因此需要使用{{something}}删除任何内容
答案 0 :(得分:2)
该字符串可以由{{.*?}}
正则表达式拆分。这将获得除数组中两个大括号中的字符串以外的字符串。
正则表达式很懒,所以它会在第一次出现}}
时停止。
str.split(/{{.*?}}/)
var str = 'apa {{abc}} banan apple {{def}} citrus apelsin {{ghi}} mango korsbar';
var arr = str.split(/{{.*?}}/);
console.log(arr);
要删除字符串周围的空格,请使用正则表达式
\s*{{.*?}}\s*
\s*
此处将匹配括号内的字符串周围的零个或多个空格并将其删除。
var str = 'apa {{abc}} banan apple {{def}} citrus apelsin {{ghi}} mango korsbar';
var arr = str.split(/\s*{{.*?}}\s*/);
console.log(arr);