目录
题目描述
写一个匹配微博转发关系中的网名的正则表达式。将下列的微博转发关系:
"哈哈哈哈//@路人甲: 233333//@路人乙: ohhhhhhh/@권지용: Fanatic
输出为一个列表:
['路人甲', '路人乙', '권지용']
解决方案:
题目要求使用正则表达式匹配。在正则表达式中,\w匹配一个字符,* 表示若干个(可以是0个)数量,且所有转发微博的名称都位于@符号之后。因此正则表达式可以写为:@\w{*}。再通过循环将每个匹配到的元素首字符@去掉即可得到正确答案。
代码
import re
if __name__ == '__main__':
demo = "哈哈哈哈//@路人甲: 233333//@路人乙: ohhhhhhh/@권지용: Fanatic"
pattern = r"@\w*"
result = [element[1:] for element in re.findall(pattern, demo)]
print(result)
</