現在、テキストメッセージコマンドサーバーを作成しようとしています(基本的には、Googleの音声にテキストを送信します。 Python IMAPライブラリを使ってメッセージにアクセスし、それを解析します)、興味深い問題があります。時には、テキストはRegex - サフィックスの有無にかかわらず、一致グループに含めないで文字列を一致させます。
--
Sent using SMS-to-email. Reply to this email to text the sender back and save on SMS fees.
https://www.google.com/voice/
は、コマンドの解析時にエラーが発生したテキストメッセージに追加される文字列、伝わってくるとき。今、コマンドを検出するために、私は(このような複数の行を使用することができ時限sendコマンドなどの特定のコマンドに複数行と大文字と小文字が区別されます)、次の正規表現を使用します。
^/(randomfact) *(\S*)\s*$
しかし、私に言って、文字列からそれは電子メールにSMSを介して送信されたがしばらくの間、一致が検出されません。 pythonのprint
機能を使用して、以下のように、メッセージが表示されます。
/randomfact\r\n\r\n--\r\nSent using SMS-to-email. Reply to this email to text the sender back and \r\nsave on SMS fees.\r\nhttps://www.google.com/voice/
今、その問題に対処するために、私はこれやって試してみました:
^/(randomfact)\s*(\d*)(?=\n\n--\nSent using SMS-to-email\. Reply to this email to text the sender back and save on SMS fees\.\nhttps://www\.google\.com/voice/)
をしかし、文字列の場合にのみ動作しますコマンドに追加されます。そうでない場合、正規表現は失敗します。私の質問です:それは文字列内に存在するかどうか、任意の正規表現の一致からその文字列を除外する方法はありますか?
だから、ときどき表示されるフッターを除外する方法が必要ですか? – wpcarro