Из вашего шаблона в комментариях ^AWS\-(?<accountid>\d+)
вы соответствуете AWS-
с начала ^
строки, и после этого вы используете именованную группу захвата accountId
для захвата 1+ раз цифры.
Вы можете получить этот accountId, ссылаясь на эту именованную группу захвата. Для захвата роли вы можете использовать другую именованную группу захвата:
^AWS-(?<accountId>\d+)-(?<role>.*)$
Regex demo
Если вам нужны цифры после первого дефиса без учета того, что находится в начале строки, вы можете использовать класс отрицанных символов [^-]*
в начале совпадения 0+ раз, а не дефис:
^[^-]*-(?<accountId>\d+)-(?<role>.*)$
Regex demo