Javascript 正则表达式问题-组的多个匹配

Javascript 正则表达式问题-组的多个匹配,javascript,regex,Javascript,Regex,我有不同的文本。匹配的顺序和出现次数不同: This is a text: <<<String(10)>>>\nToday is the: <<<Date(10)>>> 这是一个文本:\n日期是: 或 这是一个文本:\n日期是: 或 这是一段文字和一个日期。。。 现在我搜索一个正则表达式,它给我一个匹配数组。第一个例子应该给我: ['This is a text: ', '<<<String(10)

我有不同的文本。匹配的顺序和出现次数不同:

This is a text: <<<String(10)>>>\nToday is the: <<<Date(10)>>>
这是一个文本:\n日期是:

这是一个文本:\n日期是:

这是一段文字和一个日期。。。
现在我搜索一个正则表达式,它给我一个匹配数组。第一个例子应该给我:

['This is a text: ', '<<<String(10)>>>', '\nToday is the: ', '<<<Date(10)>>>']
[“这是一个文本:”,“,”\n今天是:”,“]
我试过这样的方法:

/(.*?)(\<{3}.*?\>{3})/
/(.*)(\{3})/
这适用于第一个示例的顺序,但不适用于不同的顺序。请给我一个提示

使用

s.split(/(<{3}.*?>{3})/)
s.split(/({3})/)
会做这项工作,但会给出一个空条目。如果要删除它,可以使用:

s.split(/(<{3}.*?>{3})/).filter(str => str.length > 0)
s.split(/({3})/).filter(str=>str.length>0)
var s=“这是一个文本:\n日期是:”;
var arr=s.split(/({3})/).filter(str=>str.length>0);

console.log(arr)
试试
s.split(/()/)
它能工作!通过正则表达式指定分隔符将导致带有“”的条目。我没有意识到这一点。
s.split(/(<{3}.*?>{3})/)
s.split(/(<{3}.*?>{3})/).filter(str => str.length > 0)