List all users based on array of domains

You can try below code which return object of matched records with user_email column into wordpress database users table.

/*
        This function will return object of all match user records
        Function Location : themes/function.php
*/
function get_domain_user($domains){
        global $wpdb; 

        //Build query for match records selection using RLIKE
        $strdomain = '';
        foreach( $domains as $domain ) : 
                if($strdomain == ''){ 
                        $strdomain = "'" . $domain;
                }
                else {
                        $strdomain = $strdomain . "|" . $domain;
                }
        endforeach; 
        $strdomain = 'user_email RLIKE ' . $strdomain . "'";

        //Execute query for pull all respected records...
        $strQuery = "SELECT * FROM $wpdb->users WHERE $wpdb->users.$strdomain";
        return $user_query = $wpdb->get_results($strQuery);
}

Call this function like:

//Email address domain array...
$domains = array('domain1.com', 'domain2.com', 'domain3.com');

//Pull records which users email address contain $domains mail address...
$user_list = get_domain_user( $domains );

If there is any issue/doubt/concern regarding this please contact me.