Primeiro de tudo, google para sites regex. Eles vão te ajudar muito. Por exemplo, tente regexone.
Em segundo lugar, para testar ou ajudar no entendimento de expressões regulares, consulte regex101.com - isso pode ajudar muito, já que explica o que acontece passo a passo; você também pode testar regexes.
Agora, quanto à expressão:
[aeiou]
corresponde a qualquer um dos caracteres entre colchetes (aqui: a, e, i, o ou u).
.
corresponde a qualquer caractere único
corresponde ao primeiro grupo de captura.
\(anything\)
é um grupo de captura.
O grupo de captura é o nome de uma string que você pode lembrar para uso posterior. Nesse caso, capturar qualquer caractere de [aeiou] nos permite lembrar o que combinamos. Se escrevêssemos este regex em vez disso:
[aeiou].[aeiou]
não teríamos como verificar se a primeira e segunda vogal eram as mesmas.
Assim, o seu regex significa "Coincidir com qualquer coisa que seja um dos caracteres de" aeiou ", depois qualquer caractere único e qualquer que seja o primeiro caractere".