Следующий код предназначен для извлечения /support/security/*.html ссылок из файла (urlfile содержит около 1000 ссылок) в файл urlsort с использованием регулярных выражений, но я слаб в регулярных выражениях, может кто-нибудь показать мне, как это сделать .. .?
#!/usr/bin/env python
import re,sys
fileHandle = open('urlfile', 'r')
f1 = open('urlsort', 'w')
for line in fileHandle.readlines():
links = re.findall(r"(\/support\/security\/*.html.*?)", line)
for link in links:
sys.stdout = f1
print ('%s' % (link[0]))
sys.stdout = sys.__stdout__
f1.close()
fileHandle.close()
В вашем регулярном выражении есть две ошибки: пропущенное .
перед первым *
и дополнительное ?
в конце.
Вот некоторый код, который записывает URL, соответствующие вашему шаблону, в urlsort
с использованием некоторых идиом Python.
#!/usr/bin/env python
import re
with open('urlfile', 'r') as urls_in:
with open('urlsort', 'w') as urls_out:
for line in urls_in:
links = re.findall(r"(\/support\/security\/bulletins\/.*.html)", line)
if links:
urls_out.write("%s\n" % links[0])