"A_001.py"
"A0_001_002.py"
みたいに、先頭数文字のあとに必ず一度、場合によっては真ん中にもう一度アンダーバーが入る命名ルールの列挙があります
先頭数文字にはアンダーバーは入りません。
正規表現で最初のアンダーバーまでの文字(A, A0)だけ 取得したいんですがどうすればいいですか?

re.match (r"(\w*(?=_)), strings)
これでA0_001になるのはどうして?