Python – 使用正则表达式匹配包含g后跟一个或多个e的单词的程序

Python – 使用正则表达式匹配包含g后跟一个或多个e的单词的程序

Python是在数据可视化和深度学习领域工作最强大的编程语言。正则表达式也被称为正规表达式,它是在给定文档中搜索任何字符或文本的有效工具。Python语言提供了多种功能,用于在给定文本中匹配单词。Python是一种高级且多功能的编程语言,广受开发人员的喜爱,也被广泛用于数据分析。

使用正则表达式匹配单词的程序

为了解释这一点,可以举一个例子,比如创建一个名为text的变量,并给它赋予某些值。

Text = "John is a genius at playing football games".

结果打印为[genius, game]

正则表达式

  • 字符串开头的r表示它应该被处理为原始输入,因此在编译模式时不会对特殊字符进行转义。

  • \b字符定义了单词边界,确保只能定位到以字母”g”为前导且无字母的完整单词。

  • 出现在可能存在多个连续e字符的空格中的每个g单词必须以在它们之后提供的另一个边界\b字符结尾;在存储为matches对象的格式列表中预先计算了所有其他重复的(一个OK-包括零)e字符,然后仅返回匹配的短语。

方法:-

  • 方法1 – 使用findall()函数

  • 方法2 – 使用match函数

  • 方法3 – 使用finditer()函数

方法1: 使用正则表达式匹配单词的Python程序,借助findall()函数

句子使用一组单词进行初始化,可以使用findall方法找到以g开头并跟随一个或多个e的单词。

算法

  • 步骤1 - 导入”re”模块以使用正则表达式值

  • 步骤2 - 将正则表达式存储在名为”pattern”的变量中。

  • 步骤3 - 使用正则表达式,将findall()函数定义为带有两个参数的函数,即模式和句子。

  • 步骤4 - 最后,打印语句。

示例

#importing the re module
import re
#the input is initialized with a word starting with g and followed by one or two e’s
sentence = "geetanjali, gear, gemma, hello"
#Initializing the variable to store the value
pattern = r'\bg\w*e+\w*\b'
#Using the findall function, to match the pattern with the sentence
matching = re.findall(pattern, sentence)
#The list is returned with the string values
print("Words which are matching from the input:",matching)

输出

Words which are matching from the input: ['geetanjali', 'gear', 'gemma']

方法二:使用match()函数的正则表达式来匹配单词的Python程序

用于找到给定句子中单词所有出现的方法是match()方法。

算法

  • 步骤1 - 导入所需的正则表达式模块。

  • 步骤2 - 定义一个带有两个参数的函数。

  • 步骤3 - 当没有匹配时,返回空列表。

  • 步骤4 - 打印最终列表。

示例

#importing the re module
import re
#the input is initialized with word starting with g and followed by one or two e’s
sentence = "geetanjali, gear, gemma, hello"
#Initializing the variable to store the value
pattern = r'\bg\w*e+\w*\b'
#function is defined with two parameters
def matchword(pattern, sentence):
    if not sentence:
        return []
    match = re.match(pattern, sentence)
    if match:
        return [match.group()] + matchword(pattern, sentence[match.end():])
    else:
        return matchword(pattern, sentence[1:])

matching = matchword(pattern, sentence)
#The list is returned with the string values
print("Words which are matching from the input:",matching)

输出

Words which are matching from the input: ['geetanjali', 'gear', 'gemma']

方法3:使用正则表达式和finditer()函数匹配单词的Python程序

与findall方法相比,finditer()用于打印给定句子中以”g”开头并后跟一个或两个”e”的所有匹配项。

算法

  • 步骤1: - 导入所需的”re”模块以使用正则表达式值。

  • 步骤2: - 初始化并组成各种单词的输入。

  • 步骤3: - 将正则表达式存储在名为”pattern”的变量中。

  • 步骤4: - 利用正则表达式和句子,定义findall()函数,带有两个参数:pattern和sentence。

  • 步骤5: - 最后打印语句。

示例

#importing the re module
import re
#the input is initialized with a word starting with g and followed by one or two e’s
sentence = "geek, gear, gemma, hello"
#Initializing the variable to store the value
pattern = r'\bg\w*e+\w*\b'
#Using the finditer function, to match the pattern with the sentence
matches = re.finditer(pattern, sentence)
#for loop is used to iterate through the sentence
for match in matches:
    print(match.group())

输出

geek
gear
gemma

结论

正则表达式的一个常见用途是搜索包含特定字符序列的单词,比如以”g”开头后跟一个或多个”e”的单词。这个模式可以很容易地使用Python及其内置的正则表达式模块进行匹配。使用各种方法来匹配单词的出现次数的不同方法进行了解释。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程