【问题标题】:How to decompose twitter hashtags into words? [closed]如何将推特标签分解成单词? [关闭]
【发布时间】:2022-08-24 20:19:24
【问题描述】:

我正在尝试分解 twitter 主题标签以提取组成它的单词。我很难找到一个可以令人满意地做到这一点的正则表达式,主要是由于作者在大写中的“过度创造力”。

一些例子:

#itsAHashtag -> [\'its\', \'a\', \'hashtag\']
#GlazersOutNOW -> [\'glazers\', \'out\', \'now\']
#COVIDIsNotOver -> [\'covid\', \'is\', \'not\', \'over\']

我该怎么做?

  • 你必须严格定义它是如何工作的。我猜你把每个大写字母都分开了?但是你怎么知道,比如COVIDIsCOVID 放在一起而不把Is 放在一起呢?
  • 一个单词可以由多个大写字母组成,但它也总是以大写字母开头(第一个除外,紧跟在 \'#\' 字符之后)。对于标签“#COVIDIsNotOver”,最后一个 I 是一个新单词的开头,而不是第一个单词的一部分。如果连续有两个以上的大写字母,则认为它们构成了一个单词,直到找到的倒数第二个大写字母。
  • 如果我理解正确的话,那么多个大写字母的策略是贪婪地将它们塞进一个单词中,然后取出最后一个用于下一个单词?
  • @EricJin 正是
  • #metoo 呢?我认为这不能通过任何简单的分解例程(如正则表达式)可靠地完成。这取决于你的目的,你是否有能力用这样的方法解决。也就是说,要求图书馆的问题在 Stack Overflow 上被认为是题外话。

标签: python regex twitter hashtag


【解决方案1】:

根据您提供的示例,此正则表达式应该适合您,

(?:[A-Z]+|[a-zA-Z][a-z]+?)(?=[A-Z]|$)

Check this demo

让我知道这是否有效。如果它运作良好,我会添加解释。

【讨论】:

    猜你喜欢
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2013-03-26
    • 2013-05-30
    • 1970-01-01
    相关资源
    最近更新 更多