Python 如何在字符串中搜索多个单词字符串(精确匹配)?
我发现了类似的问题,但它们不是我想要的,因为它们是关于具体的单数词,而不是多重词。 我有一个由函数(取决于用户输入)自动生成的字符串k(字典中的一个键),它如下所示: “条件1^条件2^条件3^…” (至少一个条件) 每种情况可能如下所示: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 =
(' ' + condition + ' ') in (' ' + k + ' ')
\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 + ' ')