【Python】pymysql中如何引入正则表达式变量,实现模糊匹配查询

~
pymysql中如何引入正则表达式变量,实现模糊匹配查询?

import pymysql
from sqlalchemy import *
import re

# 给定的字符串,希望能在数据库查到它的模糊匹配结果
keywd = "color ball pen"

# 打开数据库连接
conn = create_engine('mysql+pymysql://username:[email protected]:3306/db??charset=utf8')

regstr = '.*'.join(keywd.split(" "))   #  正则表达式:"color.*ball.*pen"

# 将正则表达式变量引入sql语句。注意(r''+regstr+'')中,是四个单引号,而不是两个双引号。
sql1 = '''select * from table where title regexp "%s" ''' % (r''+regstr+'')

# 读取数据,就是这么简单
df1 = pd.read_sql(sql1,  con = conn)
print("df1:\n", df1)


输出结果中,应该有类似这样的模糊匹配记录:
"BIC 4-Color Ballpoint Pen Medium Point "

~

;