#python #search #pdf
#python #Поиск #PDF
Вопрос:
как я могу выполнить поиск «/ Count 1» и вывести число, следующее за / Count. здесь это 1, и это часть файловой структуры
<</Type/Pages/Kids[4 0 R]/Count 1>>endobj
Я написал этот код, но в этом случае он выводит 0 вместо 1:
data = file(f,"rb")
rxcountpages = re.compile("/Count d*", re.MULTILINE|re.DOTALL)
x = rxcountpages.search(data.read())
print x.group()
в чем проблема
Комментарии:
1. Попробуйте ввести
d*
группу захвата и использоватьfindall
вместоsearch
.2. пожалуйста, не могли бы вы показать мне, как, потому что я новичок в использовании python
Ответ №1:
s = "<</Type/Pages/Kids[4 0 R]/Count 1>>endobj/Count 5"
print re.findall("(Count d )",s) # Count followed by 1 or more digits
['Count 1', 'Count 5']
Комментарии:
1. Я хочу напечатать ===> Количество 1
Ответ №2:
Может быть, вы можете попробовать открыть файл в другом режиме
data = file(f,"r")
(без b
)
А также, чтобы получить просто число, вы должны использовать это регулярное выражение:
/Count (d*)
а затем распечатать
x.group(1)
Все вместе это будет выглядеть так:
data = file(f,"r")
rxcountpages = re.compile("/Count d*", re.MULTILINE|re.DOTALL)
x = rxcountpages.search(data.read())
print x.group(1)