我发现了与此类似的问题,但它们并不是我要找的,因为它们询问的是特定的单数词而不是多个词。 我有一个字符串 k (这是字典中的一个键),它是由一个函数自动生成的(取决于用户输入),它看起来像这样: “条件 1 ^ 条件 2 ^ 条件 3 ^ ...” (至少一个条件)。
每个条件可以如下所示:
- a > b
- a <= c
- b < a <= c
现在,我要做的是在 k 中搜索一段特定的字符串,假设条件为“a <= c”:if "a <= c"in k then ...。 问题是可能有“aa”、“ba”、“aaa”、“ca”等而不是“a”,在这种情况下我不希望条件为真。我该如何处理?我一直在阅读 re 模块文档,但我很困惑
更新 我最初按照 alec_djinn 的建议使用了 re.findall,并根据我的需要对其进行了调整:
'(?<![^\s])a <= c(?![^\s])'
但是我遇到了一些问题。 所以我决定不使用正则表达式,而是检查“a<=c”是否等于任何
g for g in [k.split()[g]+k.split()[g+1]+k.split()[g+2] for g in xrange(len(k.split())-2)].
它有效。 对此解决方案有何评论?
最佳答案
\ba <= c\b
你可以为此做一个re.search
。
关于python - 如何在字符串中搜索多字串(完全匹配)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30664785/