No caso de querer fazer personalizações podes
dar-me alguns exemplos de padrões que posso
utilizar. Não estou muito familiarizado com os
padrões (regex) utilizados
Excelente pergunta! Vou criar um guia completo de padrões Regex para renomeação de PDFs!
📚
📖 GUIA COMPLETO DE PADRÕES REGEX PARA RENOMEAR PDFs
1️⃣ PADRÕES BÁSICOS COM HÍFEN
A) Texto - Número
Padrão de entrada (Regex):
^(.+?)\s*-\s*(\d+)\.pdf$
Formato de saída:
{2} - {1}.pdf
Exemplos:
documento - [Link] → 042 - [Link]
relatório - [Link] → 123 - relató[Link]
contrato social - [Link] → 456 - contrato [Link]
B) Número - Texto
Padrão de entrada (Regex):
^(\d+)\s*-\s*(.+?)\.pdf$
Formato de saída:
{2} - {1}.pdf
Exemplos:
042 - [Link] → documento - [Link]
123 - relató[Link] → relatório - [Link]
456 - contrato [Link] → contrato social - [Link]
C) Só extrair número
Padrão de entrada (Regex):
^(.+?)\s*-\s*(\d+)\.pdf$
Formato de saída:
{2}.pdf
Exemplos:
documento - [Link] → [Link]
relatório - [Link] → [Link]
2️⃣ PADRÕES COM UNDERSCORE (_)
A) Texto_Número
Padrão de entrada (Regex):
^(.+?)_(\d+)\.pdf$
Formato de saída:
{2}_{1}.pdf
Exemplos:
documento_042.pdf → 042_documento.pdf
relatorio_123.pdf → 123_relatorio.pdf
B) Número_Texto
Padrão de entrada (Regex):
^(\d+)_(.+?)\.pdf$
Formato de saída:
{1} - {2}.pdf
Exemplos:
042_documento.pdf → 042 - [Link]
123_relatorio.pdf → 123 - [Link]
3️⃣ PADRÕES COM DATA
A) Nome_AAAAMMDD
Padrão de entrada (Regex):
^(.+?)_(\d{8})\.pdf$
Formato de saída:
{2} - {1}.pdf
Exemplos:
relatorio_20260209.pdf → 20260209 - [Link]
contrato_20251215.pdf → 20251215 - [Link]
B) AAAAMMDD_Nome
Padrão de entrada (Regex):
^(\d{8})_(.+?)\.pdf$
Formato de saída:
{2} - {1}.pdf
Exemplos:
20260209_relatorio.pdf → relatorio - [Link]
20251215_contrato.pdf → contrato - [Link]
C) Extrair data e formatar (DD-MM-AAAA)
Padrão de entrada (Regex):
^(.+?)_(\d{4})(\d{2})(\d{2})\.pdf$
Formato de saída:
{4}-{3}-{2} - {1}.pdf
Exemplos:
relatorio_20260209.pdf → 09-02-2026 - [Link]
contrato_20251215.pdf → 15-12-2025 - [Link]
4️⃣ PADRÕES COM VERSÃO
A) Nome_v1, Nome_v2, etc.
Padrão de entrada (Regex):
^(.+?)_v(\d+)\.pdf$
Formato de saída:
{1} - Versao {2}.pdf
Exemplos:
relatorio_v1.pdf → relatorio - Versao [Link]
contrato_v3.pdf → contrato - Versao [Link]
B) Nome_Rev01, Nome_Rev02
Padrão de entrada (Regex):
^(.+?)_Rev(\d+)\.pdf$
Formato de saída:
{1} - Rev{2}.pdf
Exemplos:
documento_Rev01.pdf → documento - [Link]
projeto_Rev05.pdf → projeto - [Link]
5️⃣ PADRÕES COMPLEXOS
A) Prefixo-Número-Descrição
Padrão de entrada (Regex):
^([A-Z]+)-(\d+)-(.+?)\.pdf$
Formato de saída:
{2} - {1} - {3}.pdf
Exemplos:
[Link] → 042 - DOC - [Link]
[Link] → 123 - CONT - [Link]
[Link] → 456 - REL - [Link]
B) Código_Data_Nome
Padrão de entrada (Regex):
^([A-Z0-9]+)_(\d{8})_(.+?)\.pdf$
Formato de saída:
{3} - {1} - {2}.pdf
Exemplos:
ABC123_20260209_relatorio.pdf → relatorio - ABC123 - [Link]
XYZ789_20251215_contrato.pdf → contrato - XYZ789 - [Link]
C) Nome (Número)
Padrão de entrada (Regex):
^(.+?)\s*\((\d+)\)\.pdf$
Formato de saída:
{2} - {1}.pdf
Exemplos:
documento (42).pdf → 42 - [Link]
relatorio (123).pdf → 123 - [Link]
6️⃣ PADRÕES COM MÚLTIPLOS SEPARADORES
A) Remove espaços e substitui por hífen
Padrão de entrada (Regex):
^(.+?)\.pdf$
Formato de saída:
{1}.pdf
(+ ativar "Remover espaços extra")
Exemplos:
documento teste [Link] → [Link]
B) Nome com código entre parênteses
Padrão de entrada (Regex):
^(.+?)\s*\[([A-Z0-9]+)\]\.pdf$
Formato de saída:
{2} - {1}.pdf
Exemplos:
relatorio [DOC123].pdf → DOC123 - [Link]
contrato [CONT456].pdf → CONT456 - [Link]
7️⃣ PADRÕES PARA DIGITALIZAÇÃO
A) Scan_NNNN
Padrão de entrada (Regex):
^Scan_(\d+)\.pdf$
Formato de saída:
Digitalizacao-{1}.pdf
Exemplos:
Scan_0001.pdf → [Link]
Scan_0042.pdf → [Link]
B) IMG_Número ou DOC_Número
Padrão de entrada (Regex):
^(IMG|DOC)_(\d+)\.pdf$
Formato de saída:
{1}-{2}.pdf
Exemplos:
IMG_0042.pdf → [Link]
DOC_0123.pdf → [Link]
8️⃣ CASOS ESPECIAIS
A) Múltiplos números (pega o primeiro)
Padrão de entrada (Regex):
^(.+?)(\d{3,}).*\.pdf$
Formato de saída:
{2} - {1}.pdf
Exemplos:
documento 042 versao [Link] → 042 - [Link]
relatorio 123 [Link] → 123 - [Link]
B) Nome com extensão dupla (ex: .[Link])
Padrão de entrada (Regex):
^(.+?)\.PDF\.pdf$
Formato de saída:
{1}.pdf
Exemplos:
[Link] → [Link]
[Link] → [Link]
C) Remove prefixos comuns
Padrão de entrada (Regex):
^(Documento|Relatorio|Contrato)[-_\s]+(.+?)\.pdf$
Formato de saída:
{2}.pdf
Exemplos:
Documento - relatorio [Link] → relatorio [Link]
Relatorio_mensal_janeiro.pdf → mensal [Link]
9️⃣ EXEMPLOS PRÁTICOS DO DIA-A-DIA
Exemplo 1: Facturas
ANTES: Factura - [Link]
Regex: ^(.+?)\s*-\s*(\d+)\.pdf$
Formato: Fatura-{2}.pdf
DEPOIS: [Link]
Exemplo 2: Orçamentos
ANTES: ORC-2024-042-Cliente [Link]
Regex: ^ORC-(\d{4})-(\d+)-(.+?)\.pdf$
Formato: {2}-{1} - {3}.pdf
DEPOIS: 042-2024 - Cliente [Link]
Exemplo 3: Contratos
ANTES: Contrato Trabalho 123 João [Link]
Regex: ^(.+?)\s+(\d+)\s+(.+?)\.pdf$
Formato: {2} - {3} - {1}.pdf
DEPOIS: 123 - João Silva - Contrato [Link]
🔟 TABELA DE REFERÊNCIA RÁPIDA
Símbolo Significado Exemplo
^ Início do nome ^teste = começa com "teste"
$ Fim do nome \.pdf$ = termina com ".pdf"
. Qualquer caractere a.c = "abc", "adc", "a1c"
+ Um ou mais \d+ = 1, 42, 123, 9999
* Zero ou mais \s* = sem espaços ou com espaços
? Torna não-guloso .+? = pega o mínimo possível
\d Dígito (0-9) \d{3} = 3 dígitos
\s Espaço \s+ = um ou mais espaços
( ) Grupo de captura (\d+) = captura números
[ ] Conjunto [A-Z] = letras maiúsculas
Símbolo Significado Exemplo
\| OU (jpg\|png) = jpg ou png
{n} Exatamente n vezes \d{4} = 4 dígitos
{n,} n ou mais vezes \d{3,} = 3+ dígitos
{n,m} Entre n e m vezes \d{2,4} = 2 a 4 dígitos
💡 DICAS IMPORTANTES
1. Sempre testa primeiro com o botão "TESTAR" antes de aplicar!
2. Usa {1} e {2} para referenciar os grupos ( ) capturados
3. O ponto antes de .pdf precisa de escape: \.pdf$
4. \s* remove espaços antes/depois do separador
5. .+? é não-guloso (pega o mínimo possível)
🧪 TESTA OS TEUS PADRÕES
Usa este site para testar regex antes de aplicar:
[Link] (escolhe "JavaScript" flavor)
Agora tens um arsenal completo de padrões! 🎯
Se precisares de um padrão específico para o teu caso, diz-me o formato dos teus ficheiros que
eu crio o regex personalizado! 🚀