如何匹配类似于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字符串的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 正则表达式

MySQL 正则表达式

MySQL 正则表达式

如何匹配R中字符串中的字符?

吴裕雄 21-MySQL 正则表达式

如何使用基于自定义参数的表名中类似于 python 的字符串格式查询谷歌数据工作室中的 bigquery 表?