私はユーザー名のリストを取得できるように、私は文字列の特定のセクションを解析しようとしているいくつかのpythonコードを持っています。私は正規表現がダウンしている(私はそれをオンラインでテストし、動作するように見える)が、私はテストコードを実行するとき、私はエラーが発生したとして、実際に私が必要なものをつかむように見えない:regex.matchは部分文字列を見つけられませんか?
if parsed_mod_string.group(1):
AttributeError: 'NoneType' object has no attribute 'group'
私は基本的に理解していますが、私のコードは私の正規表現の比較では何も返されません。私のコードは以下の通りです。
If zero or more characters at the beginning of string match the regular expression..
re.match
は "アンカー" の検索機能で、次のとおりです。ドキュメントre.match
パー
import re
MOD_LIST_MSG = re.compile(r":\w+\.\w+\.\w+ NOTICE #\w+ :The moderators of this room are:(.*)")
test_msg = ":tmi.twitch.tv CAP * ACK :twitch.tv/commands\r\n:tmi.twitch.tv NOTICE #secondubly :The moderators of this room are: mod1, mod2, mod3, mod4\r\n"
parsed_mod_string = MOD_LIST_MSG.match(test_msg)
if parsed_mod_string.group(1):
mod_list = parsed_mod_string.group(1).split(', ')
print(mod_list)
あなたがよく例入力を投稿する務め、撮影したテキストを希望されるだろう。また、 'if parsed_mod_string:'を実行してマッチをテストします。一致するものがなければ 'if parsed_mod_string.group(1):'でエラーが出ます。 – dawg
@ user2864740私はちょうどそのことをPythonで試してみる前に行いました - それはうまく動作しますが、私のコードでは動作しません([this editor](https://vgy.me/BSiA0d.png)参照)。 。 –