python - 如何在 Python 中使用通配符创建搜索词?

标签 python wildcard

我想检查文档中是否包含某个术语。然而,有时这个词有多种形式(复数、过去时等)。

'Hello Worlds'
'Hellos Worlds'
'Jello World'
'Hello Worlded'

我怎样才能创建一个搜索词来找到所有实例,例如

'*ello* World*'

其中星号是不一定必须包含在单词中的通配符。

我找到了 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()

关于python - 如何在 Python 中使用通配符创建搜索词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809531/

相关文章:

Mysql Like 包含通配符给出意想不到的结果

java - "extends"和 "super"的泛型通配符

带有通配符的 Java 泛型无法编译

python - 为 ARM 交叉编译静态 Python 3.5/3.6

python - 有人可以解释双重递归 python 吗?

python - 使用非默认语音时 Pyttsx 不会说出所有文本

sql - 在值以 NIR_ 开头的选择中进行过滤

python - 将纬度和经度点移动到新的可路由位置

python - 类型错误 : object() takes no parameters

wildcard - 如何从一个样本中选择所有文件?