Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果用户使用正则表达式,如何在控制台上打印?_Python_Syntax Error_Bots_Telegram_Python Telegram Bot - Fatal编程技术网

Python 如果用户使用正则表达式,如何在控制台上打印?

Python 如果用户使用正则表达式,如何在控制台上打印?,python,syntax-error,bots,telegram,python-telegram-bot,Python,Syntax Error,Bots,Telegram,Python Telegram Bot,我已经编写了一个正则表达式,因此当用户在聊天室“科索沃”中写入时,我的机器人将向他发送音频和文本 regex = "k+o+s+o+v+o" try: nick = update.message.from_user.username if re.search(regex, contLower): chatid = update.message.chat.id a

我已经编写了一个正则表达式,因此当用户在聊天室“科索沃”中写入时,我的机器人将向他发送音频和文本

    regex = "k+o+s+o+v+o"
try:
            nick = update.message.from_user.username
            if re.search(regex, contLower):
                    chatid = update.message.chat.id
                    audio1 = "/Users/rikardo/Documents/ANGELO/Programmare/Prove di basi/Mat/SUONI/KosovoBello.ogg"
                    update.message.reply_audio(audio=open(audio1, "rb"))
                    update.message.reply_text("Stay tuned, @PadriFibra")
                    return
except Exception as err:
    print(err)

return
然后我补充说:

print(strftime("%H:%M:%S -")," "+(nick)+" triggered KosovoBello")
结果是:

    regex = "k+o+s+o+v+o"
try:
            nick = update.message.from_user.username
            if re.search(regex, contLower):
                    chatid = update.message.chat.id
                    audio1 = "/Users/rikardo/Documents/ANGELO/Programmare/Prove di basi/Mat/SUONI/KosovoBello.ogg"
                    update.message.reply_audio(audio=open(audio1, "rb"))
                    update.message.reply_text("Stay tuned, @PadriFibra")
                    print(strftime("%H:%M:%S -")," "+(nick)+" triggered KosovoBello")
                    return
except Exception as err:
    print(err)

return
但当我尝试启动bot时,控制台会说:

    $ python3 /Users/rikardo/Documents/ANGELO/Programmare/Prove\ di\ basi/Mat/prova.py 
  File "/Users/rikardo/Documents/ANGELO/Programmare/Prove di basi/Mat/prova.py", line 107
    regex = "k+o+s+o+v+o"
        ^
SyntaxError: invalid syntax

这并不完全正确。通过在每个字符后指定“+”,可以匹配KKOOSOVVVO:-)

相反,您应该只使用您想要的字符串:

regex="(kosovo)"
我还建议包括案例变体

regex="(kosovo|Kosovo|KOSOVO)"

或者只是使用IGNORECASE,以便涵盖每一个变体。

如果您可以完全按照原样共享代码,这将是一件好事,因为缩进在python中很重要。您是否也可以在这一行上面包含一些代码?另外,请修复缩进并确保它与实际代码完全相同。(例如,您共享的代码的第一行是否比后面的行缩进更多?)此外,您似乎认为是添加了
print
行导致了错误,但事实似乎并非如此。您需要修复缩进-例如,第一行不应缩进。另外,您的导入/方法是什么?正则表达式已经是一种方法了吗?我解决了我的问题。我都不记得怎么做了,勒芒。很抱歉,如果我没有更好地解释这个问题,那是我关于stackflow的第一个问题。是的,我知道,但我想允许匹配像“kkkoossssooovvvo”这样的东西。