楚子沦i 发表于 2020-12-20 19:20

请教大佬为什么我用findall只返回一个值

本帖最后由 楚子沦i 于 2021-1-7 09:33 编辑

请教大佬为什么我用findall只返回一个值大佬们好,我小白,,,
想着爬一下学校的题目,然后得到了一大串数据。
想着用正则匹配一下我想要的选项和题目,发现只返回了第一个匹配到的值,很疑惑。求大佬帮忙解答一下。
由于上传附件显示连接服务器失败,所以我用天翼云盘放的文本内容https://cloud.189.cn/t/263iummYnA7n
import re
with open("js.txt", 'r', encoding='utf-8') as j:
    neirong = j.read()
da = r'.*{"text":"(.+)","isSelcted.*"questionContentText":"(.+)","sn":0,"'
tm = r'.*questionOptionList":\[\{"text":"(.+)","isSelcted"'
# print(neiront)
pipei = re.findall(da, neirong)
print(pipei)
只显示了第一段内容,[('D、/**/', '请说出与嵌入式相比外链式的优势。')]想知道该如何获取所有的内容呢?求大佬帮忙看一下

楚子沦i 发表于 2020-12-20 20:36

李玉风我爱你 发表于 2020-12-20 20:21
看你这个样子应该是json数据
你换个网盘帮你看看

链接:https://pan.baidu.com/s/15NaGcnNVxQVGfWIEnSRLKg
提取码:ne7h
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V1的分享
感谢大佬。

李玉风我爱你 发表于 2020-12-20 20:39

楚子沦i 发表于 2020-12-20 20:36
链接:https://pan.baidu.com/s/15NaGcnNVxQVGfWIEnSRLKg
提取码:ne7h
复制这段内容后打开百度网盘 ...

这个就是json

你用json解析

百度下 python json用法

xu741852 发表于 2020-12-20 19:35

第一个参数不是正则表达式吗?

楚子沦i 发表于 2020-12-20 19:48

xu741852 发表于 2020-12-20 19:35
第一个参数不是正则表达式吗?

我想获取所有匹配的内容。。

李玉风我爱你 发表于 2020-12-20 20:21

看你这个样子应该是json数据
你换个网盘帮你看看

楚子沦i 发表于 2020-12-20 20:41

李玉风我爱你 发表于 2020-12-20 20:39
这个就是json

你用json解析


哦哦,不能用普通的方法呗,感谢大佬。

姓木名木木 发表于 2020-12-20 20:44

不要用正则查找,你的文件就是json,直接处理就行

李玉风我爱你 发表于 2020-12-20 20:44

楚子沦i 发表于 2020-12-20 20:41
哦哦,不能用普通的方法呗,感谢大佬。

啥叫普通方法

json字符串就用json解析呗 最方便

硬要用正则也行 就是要熟练

楚子沦i 发表于 2020-12-20 20:48

姓木名木木 发表于 2020-12-20 20:44
不要用正则查找,你的文件就是json,直接处理就行

好的,感谢。我以为是字符串呢
页: [1] 2
查看完整版本: 请教大佬为什么我用findall只返回一个值