如何匹配类似于mysql中的python字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何匹配类似于mysql中的python字符串相关的知识,希望对你有一定的参考价值。
a = "This is some text"
b = "This text"
我想比较a中的变量b,即使文本包含两个以上的单词,也应该返回true
a = "This is another text here"
b = "This another here"
即使我在a中比较b应该在python中返回true
条件:True
== b
中的所有单词在a
中找到相同的顺序。
在上面的例子中,单词必须是相同的顺序和大写/小写。
答案
a = "This is some text"
b = "This text"
c = 0
for i in b.split(): # check for each word in a
if i in a: c = c + 1 # if found increases the count
c>=2 # true
要么
len([value for value in a.split() if value in a.split()]) >= 2
另一答案
您可以使用regex
在一定程度上模仿行为。
import re
def is_like(text,pattern):
if '%' in pattern:
pattern = pattern.replace('%','.*?')
if re.match(pattern,text):
return True
return False
a = "This is another text here"
b = "This%another%here"
print(is_like(a,b))
>>>>True
a = "Thisis sometext"
b = "This % text"
print(is_like(a,b))
>>>>False
a = "Thisis sometext"
b = "This%text"
print(is_like(a,b))
>>>>True
a = "This is some text"
b = "This text"
print(is_like(a,b))
>>>>False
请注意,我没有为%
字符实现任何转义,因此搜索%
将无法正常工作。
以上是关于如何匹配类似于mysql中的python字符串的主要内容,如果未能解决你的问题,请参考以下文章