使用 Python 正则表达式查找给定字符串中"1(0+)1"的所有模式
pythonserver side programmingprogramming
在本教程中,我们将编写一个程序,使用正则表达式查找字符串中 1(0+1) 的所有出现位置。我们在 Python 中有一个 re 模块,可帮助我们使用正则表达式。
让我们看一个示例案例。
输入: string = "Sample 1(0+)1 string with 1(0+)1 unwanted patterns 1(0+)1"输出: 模式匹配的总数为 3 ['1(0+)1', '1(0+)1', '1(0+)1']
按照以下步骤编写程序代码。
算法
1. 导入 re 模块。 2. 初始化字符串。 3. 使用正则表达式创建一个正则表达式对象,该对象使用 re.compile() 与模式匹配。请记住将原始字符串传递给函数,而不是通常的字符串。 4. 现在,使用来自上述步骤的正则表达式对象和 regex_object.findall() 方法匹配模式的所有出现。 5. 上述步骤返回一个匹配对象,并使用 match_object.group() 方法打印匹配的模式。
让我们看看代码。
示例
# 导入 re 模块 import re # 初始化字符串 string = "Sample 1(0+)1 string with 1(0+)1 unwanted patterns 1(0+)1" # 为我们的模式创建一个正则表达式对象 regex = re.compile(r"\d\(\d\+\)\d") # 此正则表达式对象将查找所有为 1(0+)1 的模式 # 使用 regex.findall() 方法将所有匹配模式存储在变量中 result = regex.findall(string) # 结果是一个匹配对象 # 打印模式的频率 print(f"模式匹配总数为 {len(result)}") print() # 使用 result.group() 方法从字符串打印匹配项 print(result)
输出
如果运行上述代码,您将获得以下输出。
模式匹配总数为 3 ['1(0+)1', '1(0+)1', '1(0+)1']
结论
如果您对本教程有任何疑问,请在评论部分中提及。