搜索有多个匹配关键字

2024-10-01 13:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我下面有一段代码可以在字符串中找到匹配关键字。我的问题是如何在“查找”中包含多个关键字?我应该用数组还是什么的。在

处理我们要搜索的多个关键字的最佳方法是什么。假设所有关键字都必须匹配,则结果为PASS。在

试过这个。失败。。在

(“\bpython\b”,“\bgreat\b”)??有什么想法吗?在

import re

string = "python is great!"
find = ("\\bpython\\b")


if re.search(find, string):
    print ("found")
else:
    print ("not found")

Tags: 方法字符串代码importrestringispass
2条回答

可以使用循环匹配find中的所有单词。循环,当它找不到一个单词时中断循环(并打印丢失的单词)。如果找到所有单词,请打印“找到所有子字符串”。在

import re

string = r"python is great!"
find = [r'python',r'great']

for substring in find:  
    if not re.search(r'\b'+substring+r'\b', string):
        print("'%s' not found" % substring)
        break
else:
    print ("all substrings are found")

要匹配这两者,您要么需要两个正则表达式 或需要指定所有订单:

find = r'\bpython\b.*\bgreat\b|\bgreat\b.*\bpython\b|'

对于更多关键字,我建议您在一个循环中使用多个正则表达式:

^{pr2}$

相关问题 更多 >