<p>我想从PDF中提取某个单词的所有实例,例如“math”。
到目前为止,我使用PyPDF2将PDF转换为文本,然后对其执行regex以找到我想要的内容。这是<a href="https://www.dropbox.com/s/dchzjrw9gpw6iil/TEST1.pdf?dl=0" rel="nofollow">example PFD</a></p>
<p>当我运行代码而不是返回正则表达式模式“math”时,它返回整个页面的字符串。请帮忙谢谢</p>
<pre><code>#First Change Current Working Directory to desktop
import os
os.chdir('/Users/Hussein/Desktop') #File is located on Desktop
#Second is the PyPDF2
pdfFileObj=open('TEST1.pdf','rb') #Opening the File
pdfReader=PyPDF2.PdfFileReader(pdfFileObj)
pageObj=pdfReader.getPage(3) #For the test I only need page 3
TextVersion=pageObj.extractText()
print(TextVersion)
#Third is the Regular Expression
import re
match=re.findall(r'math',TextVersion)
for match in TextVersion:
print(match)
</code></pre>
<p>我收到的不是“math”的所有实例:</p>
^{pr2}$
<p>等等</p>
<p>实际上,您正在迭代<code>TextVersion</code>变量的值。必须遍历<code>re.findall</code>返回的列表。在</p>
<p>所以你的for循环必须是</p>
<pre><code>match=re.findall(r'math',TextVersion)
for i in match:
print(i)
</code></pre>