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.