我想检查文档中是否包含某个术语.然而,有时,这个词有几种形式(复数,过去时等).
'Hello Worlds'
'Hellos Worlds'
'Jello World'
'Hello Worlded'
Run Code Online (Sandbox Code Playgroud)
如何创建一个搜索词,找到所有实例,如
'*ello* World*'
Run Code Online (Sandbox Code Playgroud)
星星是一张外卡,不一定要包含在单词中.
我找到了fnmatch模块的文档,但我看不出它如何帮助我搜索文档.
使用正则表达式并循环遍历文件:
import re
f=open('test.file.here', 'r')
pattern = re.compile("^[^\s]*ello[^\s]*\sWorld[^\s]*$")
for line in f:
if pattern.match(line):
print line,
f.close()
Run Code Online (Sandbox Code Playgroud)
我通常会选择正则表达式,但如果出于某种原因你想坚持使用通配符格式,你可以这样做:
from fnmatch import fnmatch
pattern = '*ello* World*'
with open('sample.txt') as file:
for line in f:
if fnmatch(line, pattern):
print(line)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10670 次 |
| 最近记录: |