Python 中的通配符

Python 中的通配符

通配符是一种可以用来代替或补充一个或多个字符的符号。在计算机程序、语言、搜索引擎和操作系统中,通配符被用来压缩搜索条件。问号(?)和星号(*)是最常见的通配符。

通配符类型

星号(*)

星号(*)或字符 * 可用于指定任意数量的字符。星号 * 通常用于单词的结尾,并且需要查找具有各种可能的结尾的单词时使用。

例如,以单词“game”为例,短语“gamer”和“games”将出现在所有搜索结果中。根据搜索参数和其他单词,除了这两个单词之外可能会有其他单词。

问号(?)

问号或字符 ? 表示一个字符。它可以与根单词中的任何字母一起使用。当一个单词包含多个其他拼写形式时,使用问号运算符可以加快处理速度。

对于单个字符表示,不使用问号通配符,而使用点或.字符。

以单词“honour”为例。 在这种情况下,它会将结果标记为“honour”,但会忽略“honor”。

Python 中的通配符搜索

要在 Python 中使用通配符搜索,必须将 re 库包括在程序中。用于在 Python 中处理正则表达式的库称为 re 库,它是 Regular Expression 的缩写。

要进行搜索,我们将编译一个单词列表,然后使用 re 库函数。通过通配符的帮助,我们将找到与正确单词匹配的结果。

以下是执行通配符搜索的 Python 代码。

import re
str = re.compile('hel.o')
a = ['hello', 'welcome', 'to', 'java', 'point']
match_is = [string for string in a if re.match_is(str, string)]
print(match_is)

输出

['hello']

实现方法:

使用正则表达式模块 re,我们可以在 Python 中实现通配符。

点.与问号?这里被替换成了字符?。

import re
# To change the outcomes, add or remove terms from this list.
words = ["color", "colour", "work", "working",
            "apple", "master", "driving"]
for word in words:
        # Instead of the? symbol, use the . symbol
        if re.search('col.r', word) : 
                print (word)

输出

color

就像星号(*)符号的使用方式一样,.+字符用于匹配一个或多个字符。因此,在 Python 中,我们的正则表达式代码可能如下所示,以查找所有以根词“work”开头的单词:

import re
# To change the outcomes, add or remove terms from this list.
words = ["car", "apple", "work", "working",
            "goat", "worker"]
for word in words:
        # Instead of using the * symbol, use the.+ symbol.
        if re.search('work.+', word) : 
                print (word)

输出

working
worker

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程