二回に分けて置換すれば良いです。
Python
1moji = "abcd_result99"
2
3moji = re.sub(行頭からアンダースコアまでマッチする正規表現, '', moji)
4moji = re.sub(末尾の数字二桁にマッチする正規表現, '', moji)
5
6print(moji)
行頭/行の末尾を表現するためには、アンカー(^及び$)を使えます。
追記
便乗。
Python
1moji = "abcd_result99"
2
3moji = re.sub(r'^[^_]*_', '', moji)
4moji = re.sub(r'\d{2}$', '', moji)
5
6print(moji)
あるいは
Python
1moji = "abcd_result99"
2if m := re.fullmatch(r'[^_]*_(.+)\d{2}', moji):
3 print(m.group(1))
ただし、代入演算子はPython3.8以降の実装です。
対応していないようであれば m = re.fullmatch(...) と if m: を二行に分けて書けば良いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/04 00:14
2019/12/10 09:40