2014-02-24 31 views
1

我想从一个以散列(#)符号开头的行中提取单词。匹配单词开头为hash(#)sign

假设该行是:

#此处#是##containing多个#tags行。

,我现在用的正则表达式是:

(?:^|\s)(#\w+) 

这我得到的答案是:

#此,#IS,#containing,#tags

输出应该是

#This,#is#the,#containing,#tags。

请大家帮忙。

感谢

+0

是因为'/ s',因为只有在他们面前的空间被选中。 – Neels

+0

为什么不只是'#[a-z] +'?当然,用标签中的任何东西来代替'[a-z]' – fge

回答

4

#是一个非字字符。因此,您获得的输出是预期的。

而不是寻找单词字符匹配任何不是空格。

(?:^|\s)(#[^ ]+) 
相关问题