Javascript 拆分字符串并保留以下文本

Javascript 拆分字符串并保留以下文本,javascript,arrays,regex,split,Javascript,Arrays,Regex,Split,我有一个很长的文本字符串,我想通过字符串“#”、“##”和“##”将其拆分成一个数组 我可以这样做: const text = "### foo ## foo # foo ### foo ## foo ### foo ### foo ### foo" text.split(/#{1,3}/g) 输出: [ '', ' foo ', ' foo ', ' foo ', ' foo ', ' f

我有一个很长的文本字符串,我想通过字符串“#”、“##”和“##”将其拆分成一个数组

我可以这样做:

const text = "### foo ## foo # foo ### foo ## foo ### foo ### foo ### foo"

text.split(/#{1,3}/g)
输出:

 [ '',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo' ]
[ '',   '###',   ' foo ',   '##',   ' foo ',   '#',   ' foo ', '###',   ' foo ',   '##',   ' foo ',   '###',   ' foo ',   '###',   ' foo ',   '###',   ' foo' ]
但是,这会删除我仍然需要的hashtag。我也可以保留hashtag,但它们只是作为元素添加到数组中,这也是不可取的

text.split(/(#{1,3})/g)
输出:

 [ '',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo ',
          ' foo' ]
[ '',   '###',   ' foo ',   '##',   ' foo ',   '#',   ' foo ', '###',   ' foo ',   '##',   ' foo ',   '###',   ' foo ',   '###',   ' foo ',   '###',   ' foo' ]
如何分割文本,使哈希标记后的文本包含在哈希标记后的数组元素中?结果是这样的

通缉结果:

[ '### foo ',   '## foo ',   '# foo ',   '### foo ',   '## foo ',   '### foo ',   '### foo ',   '### foo' ]
代码

将上述正则表达式与JavaScript
match()函数一起使用

var str=“####foo#foo#foo#foo#foo#foo#foo#;
var matches=str.match(/#{1,3}[^#]+/g);

log(匹配)
只需使用
#{1,3}[^#]+
进行匹配,在twitter之外调用
#
一个“hashtag”合适吗?符号通常被称为数字、磅或哈希符号。@ CTWELS不应该回答这个问题吗?我想这个解决方法也是:{{1,1,3}\W+考虑在W+之后取或不带一个空间,取决于您是否想要它。@在EngRexbox中,我添加了一个答案;另外, <> 有太多的名字,我认为这些名称都取决于它的用法。永久数字符号-P