Show posts of specific user role in query loop

I have two types of user roles- 1. Regular 2. Temporary. Both types of users can create posts. I have two different pages that need to list posts from specific user roles only. So ‘page-1’ should list only posts where authors have user role ‘Regular’ and ‘page-2’ should list only posts where authors have user role ‘Temporary’. I can show posts using query loop but cannot filter based on author’s user role. I am not sure where to start from.

I am relatively new to php and wordpress queries. So any guidance or resource on how to achieve this would really be appreciated.

To follow up, I am trying with the following code which is not working. Any clue?

// Fetch all users with the 'regular' role
$regular_authors = get_users([
    'role' => 'regular',
    'fields' => 'ID', // Only get user IDs
]);

// Prepare the query
return [
    'post_type' => 'news',
    'posts_per_page' => '24',
    'order' => 'ASC',
    'author__in' => $regular_authors, // Include posts only by these authors
];