繁体   English   中英

如何从python(regex)的文本中提取图像

[英]How to extract images from a Text in python (regex)

假设我们有文本,其中图像以以下形式存储:

some text File:image1.extension some text File:image2.extension

如何从python文本中提取所有图像?

我试过了

re.findall('File:(.+?\.(jpe?g|svg|png|gif))', text, re.IGNORECASE)

但这并没有完成。

https://regex101.com/r/PLKREz/3

如何在Python中完成?

如果您的原始字符串raw_string类似于:

File:image1.png
File:image1.pdf
File:image1.gif
File:image1.txt
File:image1.jpeg

然后,您可以使用正则表达式File:.+?\\.((pdf)|(png)|(gif)|(jpeg)) 在Python中变成:

re.findall(r'File:.+?\.((pdf)|(png)|(gif)|(jpeg))', raw_string)

这只会检索您在外部括号内指定的文件格式,以|分隔| 运算符,在此示例中,除文件以.txt结尾的所有内容。

您可以使用

regex = r"\[\[File:(\S+\.(?:jpe?g|png|[tg]iff?|svg))"

模式匹配

  • \\[\\[File: -两个[ s和一个File:子字符串
  • (\\S+\\.(?:jpe?g|png|[tg]iff?|svg)) -捕获到组1中(因此,仅作为re.findall的结果返回此子re.findall
    • \\S+ -1个或多个非空白字符
    • \\. -一个点
    • (?:jpe?g|png|[tg]iff?|svg) -非捕获组内部的替代方法之一(这样它就不会在re.findall结果中输出): jpegjpgtiffgif (甚至giff )或svg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM