我有一个很长的文本,我想获取文本中与以下模式匹配的所有条目:
http******.id.txt,其中 * 可以是任何条目(长度未知),点实际上是文本中的点。我想要一个包含与此类模式匹配的所有条目的列表。
众多尝试之一是,
c = re.match(r'^(http)(.*)id.txt', b)
我也尝试过,
c = re.findall(r'(http)(.*)fastq.gz', b)
但他们都没有给出 http***.fastq.gz 条目的列表。
谢谢!
最佳答案
您是否尝试过使用 re.findall ?
import re
b = 'http://match.id.txt --- blablabla --- http://match2.id.txt'
matches = re.findall(r'http.*?\.id\.txt', b)
print matches # ['http://match.id.txt', 'http://match2.id.txt']
.*
后面的?
将匹配减少到最小(没有它,它匹配整个字符串,.* = match.id .txt --- blablabla --- http://match2
)。请参阅一些有关正则表达式的教程以了解更多信息。
关于python - python中的正则表达式http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18726985/