首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python正则表达式从中文推文中识别转发者

问使用Python正则表达式从中文推文中识别转发者
EN

Stack Overflow用户
提问于 2013-03-31 15:52:01
回答 1查看 646关注 0票数 2

给出了新浪微博的一条推文:

代码语言:javascript
复制
  tweet = "//@lilei: dd //@Bob: cc//@Girl: dd//@魏武: 利益所致 自然念念不忘// @诺什: 吸引优质  客户,摆脱屌丝男!!!//@MarkGreene: 转发微博"

请注意,//和@诺什之间有一个空格。

我想要一个转发者的列表,如下所示:

代码语言:javascript
复制
  result = ['lilei', 'Bob', 'Girl', '魏武', 'MarkGreene']

我一直在考虑使用以下脚本:

代码语言:javascript
复制
RTpattern = r'''//?@(\w+)'''
rt = re.findall(RTpattern, tweet) 

然而,我没有得到中文单词'魏武‘。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-31 15:59:14

使用re.UNICODE标志:

代码语言:javascript
复制
re.UNICODE
Make \w, \W, \b, \B, \d, \D, \s and \S dependent on the Unicode character 
properties database.

代码语言:javascript
复制
tweet = u"//@lilei: dd //@Bob: cc//@Girl: dd//@魏武: 利益所致 自然念念不忘// @诺什: 吸引优质  客户,摆脱屌丝男!!!//@MarkGreene: 转发微博"
RTpattern = r'''//?@(\w+)'''
for word in re.findall(RTpattern, tweet, re.UNICODE):
    print word

# lilei
# Bob
# Girl
# 魏武
# MarkGreene
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15727510

复制
相关文章

相似问题

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