本文共 832 字,大约阅读时间需要 2 分钟。
目录
写一个匹配微博转发关系中的网名的正则表达式。将下列的微博转发关系:
"哈哈哈哈//@路人甲: 233333//@路人乙: ohhhhhhh/@권지용: Fanatic
输出为一个列表:
['路人甲', '路人乙', '권지용']
输入:无输入
输出:输出转发关系列表 ['路人甲', '路人乙', '권지용']
题目要求使用正则表达式匹配。在正则表达式中,\w匹配一个字符,* 表示若干个(可以是0个)数量,且所有转发微博的名称都位于@符号之后。因此正则表达式可以写为:@\w{*}。再通过循环将每个匹配到的元素首字符@去掉即可得到正确答案。
import reif __name__ == '__main__': demo = "哈哈哈哈//@路人甲: 233333//@路人乙: ohhhhhhh/@권지용: Fanatic" pattern = r"@\w*" result = [element[1:] for element in re.findall(pattern, demo)] print(result)
['路人甲', '路人乙', '권지용']
# 需要导入Python正则匹配包reimport reif __name__ == '__main__': demo = "哈哈哈哈//@路人甲: 233333//@路人乙: ohhhhhhh/@권지용: Fanatic" # 定义正则表达式 pattern = r"@\w*" # 使用findall()函数匹配结果,并将findall()得到的列表中的每个元素去掉首字符‘@’ result = [element[1:] for element in re.findall(pattern, demo)] # 输出结果 print(result)
转载地址:http://absoi.baihongyu.com/