※ ChatGPTを利用し、要約された質問です(原文:Python 正規表現でsetと=の間の空白で区切られた文字で、一番右端の文字を取得したい)
Python正規表現でsetと=の間の空白で区切られた文字で、一番右端の文字を取得したい
Python 正規表現でsetと=の間の空白で区切られた文字で、一番右端の文字を取得したい
Pythonで、正規表現を使って、
「set 」(半角空白あり、行の先頭とは限らない)と「=」で挟まれている文字で、=側に一番近い文字を取得したいと考えています。
1行に、「set ○○=」が複数ある場合もあります。
以下の例だと、"gg" と "kkkk" を取得したいのですが、
setと=の間の['fffff gg', 'h ii jjj kkkk ']が返ってきてしまい、一番右端の文字が返ってきてくれません。
setと=の間の文字は、半角の空白で区切られていて、いくつあるかは決まっていません。
どのように正規表現を書けばいいでしょうか?
よろしくお願いします。
-----------------------------------------------------------
line = "set fffff gg=FGFGFGFGFGFG set h ii jjj kkkk = HIIJJJKKKKset lll=LLL"
import re
p = re.compile(r'(?: set|^set) ([^=].*?)=', re.IGNORECASE)
print p.findall(line)
>>>
['fffff gg', 'h ii jjj kkkk ']
お礼
notnotさん、返答ありがとうございます。 その正規表現で、上手く行きました。