No Values In Some Attributes At Console

My friends,
With Active Dirctory,
I have a two-liner here that almost works.
The Regex works fine,

$regexfilter = '^[A-Za-z]+\.[A-Za-z]+[A-Za-z0-9]?[0-9]$'
Get-ADUser -Filter "samaccountname -like '*'" | where { $_.samaccountname -match $regexfilter} | select Enabled, mail, Name, sn, Samaccountname,givenname,cn,MIDDLENAME, INITIALS,uSDAAgencyAbbreviation,uSDAOfficeID,DisplayName

The output at the console is wrong. The mail and other attributes are blank, but I know there are good values in the Active Directory Record.
Here is the output:

Enabled : True
mail :
Name : John.Jordan3
sn :
Samaccountname : John.jordan3
givenname : John
cn :
MIDDLENAME :
INITIALS :
DefenseAgencyAbbreviation :
DefenseOfficeID :
DisplayName :

The purpose is to show all users in Active Directory that match the Regex.
But Regex cannot be used with -Filter.
So my logic is:
Look at all the users: -Filter “samaccountname -like ‘*’”
Then match the Regex: -match $regexfilter

I suspect I need to Splat, but I don’t know how to do that here.
Thank you in advance for your help.

And if you know of a better way to get this done, I would appreciate learning your approach.

The Regex returns True for things like:
Joe.Jones01
Joe.Jones4

Hi, try

Get-ADUser -Filter * -properties * 

DejvDzi, Thank you for your reply.
I tried:
Get-ADUser -Filter * -properties * "samaccountname -like '*'" | where { $_.samaccountname -match $regexfilter} | select Enabled, mail, Name, sn, Samaccountname,givenname,cn,MIDDLENAME, INITIALS,uSDAAgencyAbbreviation,uSDAOfficeID,DisplayName

It did not work. Here is the error:

Get-ADUser : A positional parameter cannot be found that accepts argument 
'samaccountname -like '*''.
At C:\Powershell\Find Someone Six Six Different Ways Good Regex Match.ps1:4 char:1
+ Get-ADUser -Filter * -properties * "samaccountname -like '*'" | where ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Try this

$regexfilter = '^[A-Za-z]+\.[A-Za-z]+[A-Za-z0-9]?[0-9]$'
Get-ADUser -Filter "samaccountname -like '*'" -properties * | where { $_.samaccountname -match $regexfilter} | select Enabled, mail, Name, sn, Samaccountname,givenname,cn,MIDDLENAME, INITIALS,uSDAAgencyAbbreviation,uSDAOfficeID,DisplayName

DejvDzi, Yes, indeed that works. I was studying it and trying that same thing when I saw your reply.
Here is the output now:

Enabled                : True
mail                   : John.long2@Jar.gov
Name                   : John.Long2
sn                     : Long
Samaccountname         : John.long2
givenname              : John
cn                     : John.Long2
MIDDLENAME             : 
INITIALS               : G
MARINEAgencyAbbreviation : Marine-JAR
MARINEOfficeID           : 107857
DisplayName            : Long, John G. (CTR) - Marine-JAR, Washington, DC

Thank you very much, I am cooking now.