Python 如何在字符串中搜索多个单词字符串(精确匹配)?

Python 如何在字符串中搜索多个单词字符串(精确匹配)?,python,regex,string,python-2.7,Python,Regex,String,Python 2.7,我发现了类似的问题,但它们不是我想要的,因为它们是关于具体的单数词,而不是多重词。 我有一个由函数(取决于用户输入)自动生成的字符串k(字典中的一个键),它如下所示: “条件1^条件2^条件3^…” (至少一个条件) 每种情况可能如下所示: (' ' + condition + ' ') in (' ' + k + ' ') a>b a\ba\ba您可以使用(?意思是“如果前面没有任何小写字母” 这里有一个例子 import re str_a = 'b a <= c' str_b =

我发现了类似的问题,但它们不是我想要的,因为它们是关于具体的单数词,而不是多重词。 我有一个由函数(取决于用户输入)自动生成的字符串k(字典中的一个键),它如下所示: “条件1^条件2^条件3^…” (至少一个条件)

每种情况可能如下所示:

(' ' + condition + ' ') in (' ' + k + ' ')
  • a>b
  • a
    \ba
    \ba您可以使用
    (?意思是“如果前面没有任何小写字母”

    这里有一个例子

    import re
    
    str_a = 'b a <= c'
    str_b = 'ba <= c'
    
    m = re.findall('(?<![a-z])a <= c', str_a)
    n = re.findall('(?<![a-z])a <= c', str_b)
    print m, n
    
    重新导入
    str_a='ba你可以使用
    (?意思是“如果前面没有任何小写字母”

    这里有一个例子

    import re
    
    str_a = 'b a <= c'
    str_b = 'ba <= c'
    
    m = re.findall('(?<![a-z])a <= c', str_a)
    n = re.findall('(?<![a-z])a <= c', str_b)
    print m, n
    
    重新导入
    
    str_a='b a我可能会使用vks的解决方案,这似乎是最简单的。但是,如果您想避免使用正则表达式,并且您知道您的字符串到处都被单个空格分隔,您也可以这样做:

    (' ' + condition + ' ') in (' ' + k + ' ')
    

    您的解决方案包括拆分字符串并将其重新组合,但只适用于3个元素的字符串,这将花费更多的时间和内存。

    我可能会使用vks的解决方案,这似乎是最简单的解决方案。但是,如果您想避免正则表达式,并且您知道您的字符串在任何地方都由单个空格分隔,您可以uld也可以这样做:

    (' ' + condition + ' ') in (' ' + k + ' ')
    

    您的解决方案包括拆分字符串并将其重新组合,但只适用于3个元素的字符串,这将花费比需要更多的时间和内存。

    能否显示您尝试过的代码?能否显示您尝试过的代码?
    (' ' + condition + ' ') in (' ' + k + ' ')