поиск ключевых слов в файле с помощью python

#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

3. docs.python.org/2/howto/regex.html

Ответ №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)