首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python的Regex findall不返回Unicode文本的所有匹配

Python的Regex findall不返回Unicode文本的所有匹配
EN

Stack Overflow用户
提问于 2019-09-28 23:43:01
回答 1查看 79关注 0票数 2

我有一个unicode文本,其中包含一个日志列表,其中包含关于每个日志的一些细节。我只想取回日记的名字。

我的文字很大,看上去如下:

6.跨语言和文化半年期ISSN: 1585-1923 AKADEMIAI KIADO ZRT,BUDAFOKI UT 187-189-A-3,布达佩斯,匈牙利,H-1117社会科学引文索引7) 7) 7. ACTA ANALYTICA-国际哲学期刊“分析季刊”ISSN: 0353-5150 SPRINGER,233 SPRING ST,NEW YORK,美国,NY,10013艺术与人文科学指数8) 807030-5774艺术与人文引文索引9) 9.博亚西亚半年度ISSN: 0800-3831 ROUTLEDGE杂志,TAYLOR & FRANCIS LTD,2-4 PARK SQUARE,MILTON PARK,ABINGDON,ENGLAND,OXON,OX14 4RN艺术和人文文献索引10) 10. ACTA CLASSICA年度ISSN: 0065-1141 UNIV FREE STATE,DEPT ENG古典LANG,PO BOX 339,BLOEMFONTEIN,南非,9300艺术与人文ACTA 11) 11.爱沙尼亚泰林大学出版社: 1406-2925爱沙尼亚出版社10130艺术与人文引文索引( 12) 12.第三委员会-年度ISSN: 1318-0185 4تاریخانتشار: 89/2/62پژوهشگاهوشبکهآزمایشگاهی98/3 :代码UNIV PRIMORSKA,SCI RES CENTRE,GARIBALDIJEVA 1,KOPER,斯洛文尼亚,CAPODISTRIA,SI-6,000社会科学引文指数艺术和人文引文指数13) 13.韩国学报,半年一次的ISSN: 1520-7412年一次的学术界پژوهشگاهوشبکهآزمایشگاهیKEIMYUNG UNIV,1095 DALGUBEOLDAERO,DALSEO-GU,大邱,韩国14.文化学学报: 1216-8076 AKADEMIAI KIADO ZRT,BUDAFOKI UT 187-189 A-3,匈牙利布达佩斯,H-1117社会科学索引艺术与人文科学索引15)15.文明学半年度ISSN: 0717-6848 UNIV康塞普西翁,FAC HUMANIDADES,CASILLA 160-C,CORREO 3,智利康塞普西翁,00000艺术与人文科学指数16) 1617.东方科学院-匈牙利科学家季刊ISSN: 1588-2667 AKADEMIAI KIADO ZRT,BUDAFOKI UT 187-189-A-3,布达佩斯,H-1117艺术与人文引用指数5تاریخانتشار: 89/2/62پژوهشگاهوشبکهآزمایشگاهی98/3 :代码当前内容-艺术与人文18 )18I-56123艺术与人文引文索引当前内容-艺术与人文

它想要回火柴

跨语言和跨文化半年一次 “分析学报”--国际哲学分析季刊 考古学报年度 等。

我已经尝试过了(https://regex101.com/r/eyafNd/1),并且在reg101网站上,它似乎是有效的。

代码语言:javascript
复制
regex = r"^(\d+\)\s*\d+\.\s+)(.*?) ISSN"
l = re.findall(regex,txt,re.IGNORECASE)
print(len(l))
print(l)

它返回的是只有一个结果的列表,如下所示

代码语言:javascript
复制
[('6) 6. ', 'ACROSS LANGUAGES AND CULTURES Semiannual')]

任何帮助都将不胜感激。

政务司司长

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-29 00:06:44

也许看看这个regex:

代码语言:javascript
复制
(?<=\d\.\s).+?(?=\sISSN)

Regex Demo

代码语言:javascript
复制
regex = r"(?<=\d\.\s).+?(?=\sISSN)"
l = re.findall(regex, txt, re.I)
print(len(l))
print(l)

这意味着要在number+dot+whitespace之后开始匹配,直到字符whitespace+ISSN为止。然后,我可以确认,当我编写您的文本时,我收到了下面的输出列表和代码:

代码语言:javascript
复制
['ACROSS LANGUAGES AND CULTURES Semiannual', 'ACTA ANALYTICA-INTERNATIONAL PERIODICAL FOR PHILOSOPHY IN THE ANALYTICAL TR ADITION Quarterly', 'ACTA ARCHAEOLOGICA Annual'...]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58151091

复制
相关文章

相似问题

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