Como o padrão funciona
| Parte | Significado |
|---|---|
(?:[A-Za-z0-9+\/]{4})* | Blocos completos de quatro caracteres |
[A-Za-z0-9+\/]{2}== | Ou um bloco final com dois sinais de preenchimento |
[A-Za-z0-9+\/]{3}= | Ou um bloco final com um sinal de preenchimento |
Exemplos de código
JavaScript
const re = /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?', value))PHP
preg_match('/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/', $value) === 1;
Observações e limitações
A string vazia também corresponde, então verifique o tamanho separadamente. Para base64url (JWTs, URLs), substitua +\/ por _- e torne o preenchimento opcional. Decodifique com o Codificador/Decodificador Base64.
Testador de Expressões Regulares
Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.