过滤字符串中找到的所有主题标签

时间:2017-03-13 23:26:46

标签: javascript regex

我需要创建一个包含字符串中所有主题标签的数组。例如:

  

测试#nature #love#instacool #anothertogether #likeforlike,#rellax。

     

多行... #festival -

     

更多文字#aaa \ n#anotherhashtag

结果将是:

try { 
    //This block throws the exception.
}
Catch(Exception e) {
      //This block will run next.
}    

此案例的REGEX应该是什么?我尝试了一些我在互联网上找到但在给定的例子中没有用的东西。

3 个答案:

答案 0 :(得分:4)

使用以下方法:

var str = 'Testing #nature #love#instacool#anothertogether #likeforlike, #relax. \nmulti-line... #festival-- some more text #aaa \n#anotherhashtag';

console.log(str.match(/#\w+/g).map(v => v.replace('#', '')));

答案 1 :(得分:0)

在旗帜mg中, m表示'多行', g表示“全局搜索”。

`Testing #nature #love#instacool#anothertogether #likeforlike, #relax.

multi-line... #festival--

some more text #aaa \n#anotherhashtag`.match(/#\w+/mg).map(s => s.substr(1))

答案 2 :(得分:0)

您需要使用RegExp#exec。使用下一个解决方案:

var str = "Testing #nature #love#instacool#anothertogether #likeforlike, #relax. \n multi-line... #festival-- \nsome more text #aaa \n#anotherhashtag";
var re = /#(\w+)/g;
var res = [];
while (var buf = re.exec(str)) {
  res.push(buf[1]);
}
console.log(res);