2017-06-07 11 views
0

私は正規表現を書いたので、ユーザがチャット "コソボ"に書き込むと、ボットは彼にオーディオとテキストを送ります。ユーザーが正規表現を使用する場合、どのようにコンソールに印刷しますか?

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 

しかし、私はボットを起動しようとすると、コンソールはこれを言う:

$ 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 
+0

インデントがPythonで重要なので、そのままコードを共有するとよいでしょう。 – Bonifacio2

+2

この行の上にいくつかのコードを含めることができますか?また、インデントを修正して、実際のコードとまったく同じように見えるようにしてください。 (例えば、あなたが共有したコードの最初の行は、その行の後ろの行よりも本当にインデントされていますか?) – smarx

+0

また、それはエラーを引き起こした 'print'行の追加だと思えますが、そうであるようです。 – smarx

答えて

-1

これは正確ではありません。私はまた、ケースのバリエーションを含むことをお勧めしたい

regex="(kosovo)" 

:各文字の後にあなたがkkooosoovvvvvvoのようなもののマッチングを許す「+」を指定することで:-)

代わりに、あなたはちょうどあなたが望む正確な文字列を使用する必要があります

regex="(kosovo|Kosovo|KOSOVO)" 

またはすべてのバリエーションがカバーされるようにIGNORECASEを使用するだけです。

+0

ええ、私は知っていますが、 "kkkkoooosssssooovvvo"のようなもののマッチングを許可したいと思います。 –

関連する問題