用Java解析Hashtags的正则表达式

时间:2009-08-27 17:45:52

标签: java regex twitter

以下是我要解析的Twitter消息(正如您所看到的,其中一些不是标记,只是URL的一部分):

#anothertag Arrogance and bad PR http://www.adobe.com/index.html#anchor1. John 
Nack on &#Adobe: Information about Photoshop© CS3 on Snow Leopard 
#fail #design</pre>

这个正则表达式是我目前所拥有的,但它仍然会获取一些url标记:

[##]+([A-Za-z0-9-_]+)

3 个答案:

答案 0 :(得分:6)

这不具讽刺意味,一发帖我就找到了答案。因此,如果您正在寻找匹配模式来执行此操作,以下似乎可行:

(?:\ S | \ A)[##] +([A-ZA-Z0-9 -_] +)

我将对此进行更多测试,以查看是否存在超出此表达式范围的任何边缘情况,如果找到任何边缘情况,则会报告。

答案 1 :(得分:3)

我想这个

(\s|\A)#(\w+)

同样有效,而且更精确一点。 顺便说一句,在使用Java正则表达式时,我总是使用regexplanet来测试我的表达式。比在Java中测试快得多。

- 哈迪

答案 2 :(得分:3)

@Daniel Dura:[##]这应该毫无意义。方括号[]用于表示字符类。 [##]与[#]相同。并且[##] +与[#] +。

相同