Skip to content

Instantly share code, notes, and snippets.

@fernandosavio
Last active August 29, 2018 14:08
Show Gist options
  • Save fernandosavio/6f4d28386332663a3fbb7366aab81210 to your computer and use it in GitHub Desktop.
Save fernandosavio/6f4d28386332663a3fbb7366aab81210 to your computer and use it in GitHub Desktop.
Regex úteis. Vou incorporando mais regex a medida que for necessário.

Número com separador decimal e de milhar opcionais

REGEX: ^\d{1,3}(?:(?:\.\d{3})*|(?:\d{3})*)(?:,\d{1,4})?$

Explicação:

  • \d{1,3}: os números mais a esquerda podem ser de 0 a 999
  • (?:(?:\.\d{3})*|(?:\d{3})*): garante que o separador de milhar seja sempre usado ou nunca. Quebrando em duas partes:
    • (?:\.\d{3})*: ou tem um ponto seguido de 3 números repetidos de 0 a N vezes
    • (?:\d{3})*: ou tem apenas 3 números repetidos de 0 a N vezes
  • (?:,\d{1,4})?: opcionalmente, ao fim da string, haverá uma vírgula seguida de 1, 2, 3 ou 4 números

Demo*: https://www.phpliveregex.com/p/p5R

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment