re.fullmatch sql python 电报

re.fullmatch sql python telegram

我需要与数据库中的记录进行精确比较。我有一个来自 db:

的字符串数据
print(str(db.get_nicknames2(message.from_user.id)))
//[('123',), ('lopr',), ('hello',), ('imfamous2',), ('guy',)]

无效:

message = 'famous2'
info = str(db.get_nicknames2(message.from_user.id))
re.fullmatch(message,info)
//None

有效,但我需要从 db:

进行比较
message = 'famous2'
info = 'famous2'
re.fullmatch(message,info)
//re.Match object; span=(0, 9), match='imfamous2

我认为您根本不需要 re。只需遍历 info 列表而不是将其转换为字符串。

info = 'famous'
data = db.get_nicknames2(message.from_user.id)
nickname = None
# first look for exact match
for (nick,) in data:
    if info == nick:
        nickname = nick
        break
else:
    # not found, look for substring match
    for (nick,) in data:
        if info in nick:
            nickname = nick
            break