質問: **対象** ``` 12a345a67.8 90a123a45 67.8a901a23.4 ``` --- **前提条件** ・aの個数は「0」か「2」 ・aが「0」の場合は何も処理しない --- **やりたいこと** ・上記のような文字列がある時、`「最初のaまで」と「それ以降」`、もしくは、`「最初のaまで」「2番目のaまで」「それ以降」`をそれぞれ分離してキャプチャ取得したい **12a345a67.8の場合** ・下記何れかの分離方式でキャプチャ取得したい ・`「12」「345a67.8」` ・`「12a」「345a67.8」` ・`「12」「345」「67.8」` ・`「12a」「345a」「67.8」` --- **試したこと** ・最初のaまでキャプチャ取得 ``` ^(.*?)a ```
回答: Pythonで実装してみました。 * 入力: 12a345a67.8 * 出力: 12, 345, 67.8 ``` import re SRCSTR = "12a345a67.8" PATN = r"[^\sa,]+" res = re.findall(PATN, SRCSTR) for elem in res: print(elem) ``` 結果 ``` 12 345 67.8 ``` また、 にて - 言語Pythonの下のボックスに「[^\sa,]+」を - その下(Result)に「12a345a67.8」を 入力して確認しました。 ( ) 12a345a67.8a9012 なども対応可能です。 参考: