xiaomayi2012 发表于 2019-8-5 21:58

求助,python 用正则提取中文尖括号中的内容


字符串如下:
str="《盗梦空间》(高清完整版)作者:xxxx"
re.findall(r'《(.+?)》',str)
我用正则提取《》中间的内容为空,请求指点,谢谢!

niebaohua 发表于 2019-8-5 22:26

https://img01.sogoucdn.com/app/a/100520146/5c334ef4f61fee2b4438e7d8056f94f4

为了青春 发表于 2019-8-5 22:26

在https://regex101.com这个网站用你的规则试了下,规则没问题,确实能提取出“盗梦空间”。
是不是python下规则不同啊。
帮顶下,希望有大佬来指点。

xiaomayi2012 发表于 2019-8-5 22:28

为了青春 发表于 2019-8-5 22:26
在https://regex101.com这个网站用你的规则试了下,规则没问题,确实能提取出“盗梦空间”。
是不是python ...

我复制了这段就可以了。。我爬取网站的时候就是不行,,

mq5123 发表于 2019-8-5 22:34

本帖最后由 mq5123 于 2019-8-5 22:35 编辑

试试
re.findall(r'《(.*?)》',str)
or
re.findall(r'《([\s\S]*?)》',str)

半仙丷 发表于 2019-8-5 22:51

我这能出来啊,还有,我把+换成*也能出来,你看看吧

网络鱼 发表于 2019-8-5 23:02

.*?是万能公式{:1_905:}

ixsec 发表于 2019-8-5 23:47

In : import re

In : str="《盗梦空间》(高清完整版)作者:xxxx"

In : re.findall(r'《([\w\W\u4e00-\u9fff]+)》',str)
Out: ['盗梦空间']

会提取里面的中文及英文

1170 发表于 2019-8-6 00:06

xiaomayi2012 发表于 2019-8-5 22:28
我复制了这段就可以了。。我爬取网站的时候就是不行,,

爬网站没有提取到,可能是没获取到数据,提取之前检查一下时候有没有爬到数据

X_m17 发表于 2019-8-6 00:09

可以多试几条数据
页: [1] 2
查看完整版本: 求助,python 用正则提取中文尖括号中的内容