使用regex从复杂字符串中提取主题标签

时间:2017-04-13 18:06:10

标签: javascript regex string hashtag

我有一个疯狂的字符串,如:

sun #plants #!wood% ##arebaba#tey   travel#blessed    #weed das#$#F!@D!AAAA

我想提取所有"单词" (也包含特殊字符)以#开头或之前有空格,结果如下:

[
  'sun',
  'plants',
  '!wood%',
  'arebaba',
  'tey',
  'travel',
  'blessed',
  'weed',
  'das',
  '$',
  'F!@D!AAAA'
]

如何使用正则表达式获取此内容?

2 个答案:

答案 0 :(得分:3)

您可以使用正则表达式match使用[^#\s]+



var str = 'sun #plants #!wood% ##arebaba#tey   travel#blessed    #weed das#$#F!@D!AAAA';
    
var arr = str.match(/[^\s#]+/g);

console.log(arr);




RegEx Demo

答案 1 :(得分:0)

只需使用匹配就可以将所有第1组匹配变为数组。

(?:^|[ #]+)([^ #]+)(?=[ #]|$)

轻松!

 (?: ^ | [ #]+ )
 ( [^ #]+ )                    # (1)
 (?= [ #] | $ )

或者,如果您觉得这很简单,那么只需使用([^ #]+)[^ #]+
得到同样的东西(比如拆分反过来)。