を正規表現キャプチャグループを使用して、私はこの1つを助ける必要があります。のpython - 次の方法で
- 私は、ファイルを開いてそこからリストを作成するreadlinesメソッドを使用します。 私は摂餌/試合の最初の発生を発見し、変数
list = ['firstString','xxxSTATUS=100','thirdString','fourthString']
value = next(x for x in list if [re.search('.*STATUS=(.*)', x)])
それがあるように私は「価値」に割り当てた場合、私が手に「xxxSTATUS = 100」に最初のキャプチャグループを割り当てる必要が
(文字列型)、しかし、私はそうのようにそれを行う場合:
value = next(x for x in list if [re.search('.*STATUS=(.*)', x).group(1)])
私が取得:
AttributeError: 'NoneType' object has no attribute 'group'
明らかに、value.group(1)は文字列で正規表現オブジェクトではありません。私は正規表現パターンを使用しているときに、変数がまだ割り当てられていないので、変数はまだタイプされていないということも(私の前提です)得ます。
私の質問は、この問題を解決し、キャプチャグループを割り当てる方法です。 '100'を変数に設定します。回避策はありますか?
re.search( 'STATUS =(。*))の場合は、リスト内のxに対して 'value = next(re.search(' STATUS =(。*) '、x).group(1) '、x)) '' 100'だけを返しますか?また、リストを繰り返して、パターンに一致する最初のものを取得してみませんか? https://ideone.com/BNb2I9を参照してください。 –
はい、それはまさにそれでした。どうもありがとうございました!今私は間違いがどこだったかを見ます。あなたのコメントを回答してください、私はそれを受け入れることができますか? – RiddleMeThis