首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最佳HashTag Regex

最佳HashTag Regex
EN

Stack Overflow用户
提问于 2009-10-14 01:40:51
回答 8查看 34.4K关注 0票数 12

我在试图找到字符串中的所有哈希标签。这些标签来自像twitter这样的流,它们可能在文本中的任何地方,比如:

这是一个非常棒的事件,让我们使用标记#乐趣

我使用的是.NET框架(c#),我认为这是一个合适的regex模式:

#\w+

为了这个目的,这是最好的准则吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-10-14 01:48:08

这取决于您是否希望匹配其他字符串("Some#Word")中的哈希标签,或者其他可能不是hashtag的东西(“我们是#1")。在这两种情况下,您给#\w+的正则表达式都将匹配。如果您将正则表达式稍微修改为\B#\w\w+,则可以消除这些情况,并且只匹配单词边界上长度大于1的哈希标签。

票数 12
EN

Stack Overflow用户

发布于 2011-04-24 04:34:23

如果您正在从Twitter中提取包含hashtag的状态,您就不再需要自己找到它们了。您现在可以指定include_entities参数,让Twitter自动调用提及、链接和哈希标签。

例如,对状态/显示进行以下调用

entities=true

在得到的JSON中,注意实体对象。

代码语言:javascript
复制
"entities":{"urls":[{"expanded_url":null,"indices":[68,88],"url":"http:\/\/bit.ly\/gWZmaJ"}],"user_mentions":[],"hashtags":[{"text":"wordpress","indices":[89,99]}]}

您可以使用上面的内容来定位tweet中的特定实体(这些实体发生在由索引属性表示的字符串位置之间),并对它们进行适当的转换。

如果您只需要正则表达式来定位hashtag,Twitter就会在开源库中提供这些信息。

哈希标签匹配模式

代码语言:javascript
复制
(^|[^&\p{L}\p{M}\p{Nd}_\u200c\u200d\ua67e\u05be\u05f3\u05f4\u309b\u309c\u30a0\u30fb\u3003\u0f0b\u0f0c\u00b7])(#|\uFF03)(?!\uFE0F|\u20E3)([\p{L}\p{M}\p{Nd}_\u200c\u200d\ua67e\u05be\u05f3\u05f4\u309b\u309c\u30a0\u30fb\u3003\u0f0b\u0f0c\u00b7]*[\p{L}\p{M}][\p{L}\p{M}\p{Nd}_\u200c\u200d\ua67e\u05be\u05f3\u05f4\u309b\u309c\u30a0\u30fb\u3003\u0f0b\u0f0c\u00b7]*)

以上模式可以从 java文件(检索到的2015-11-23)拼凑在一起.此模式的验证测试位于第128行附近的这个文件中。

票数 39
EN

Stack Overflow用户

发布于 2010-09-03 23:18:18

我在推特上发布了一个带有随机散列标签的字符串,看到了Twitter对它做了什么,然后尝试将它与正则表达式匹配。我得到的是:

B#\w*a-+\w*

# #Fa__!ce:#iam__#1 #1 #919 #jifdosaj somethin#idfsjoa 9#9#98 9#9f9j#9jlasdjl #jifdosaj 34 #34239 E 110#jkfE 211e 112aE 213E 114*#1j3rj3E 215E 215

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1563844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档