Em primeiro lugar, poucas notas:
-
\d
é a abreviação para expressar qualquer dígito.[0-9]
e classe de caractere[[:digit:]]
são análogas a\d
. -
\w
é a abreviação de todos os alfanuméricos e_
.[a-zA-Z0-9_]
e[[:alnum:]_]
são análogos a\w
.
Agora, os padrões Regex:
-
[a-fA-F\d]{30}
corresponderá a qualquer um dos caracteres entreabcdefABCDEF0123456789
exatamente 30 vezes. -
[\d\w]
corresponderá a qualquer caractere único entre[0-9]
e[a-zA-Z0-9_]
. Observe que\w
contém[0-9]
, portanto você não precisa de\d
. Apenas use\w
. -
[-+_~.\d\w]
corresponderá a qualquer caractere único entre-+_~.[0-9][a-zA-Z0-9_]
. Observe que\w
contém_
e[0-9]
, portanto, você não precisa mencionar explicitamente_
e\d
. Isso pode ser simplificado como[-+~.\w]
-
[-\d\w]{0,253}
corresponderá a qualquer um dos caracteres entre-
,[0-9]
e[a-zA-Z0-9_]
com um mínimo de 0 a um máximo de 253 vezes. Novamente\d
não é necessário, você pode usar[-\w]{0,253}