Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gm

Test String

Substitution

Processing...

Code Generator

Generated Code

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"[^\d]*(\d+)\s*?(\d+).*" test_str = ("Tipo 1 3 3 X \n" "CNPJ do declarante 4 17 14 CNPJ \n" "Ano-calendário 18 21 4 ANO \n" "Sequencial da Locação 22 26 5 N \n" "CPF/CNPJ do Locador 27 40 14 CPF/CNPJ \n" "Nome/Nome Empresarial do Locador 41 100 60 X \n" "CPF/CNPJ do Locatário 101 114 14 CPF/CNPJ2 \n" "Nome/Nome Empresarial do Locatário 115 174 60 X \n" "Número do Contrato 175 180 6 X \n" "Data do Contrato 181 188 8 DATA \n" "Valor do Aluguel no mês de Janeiro 189 202 14 R$ \n" "Valor da Comissão no mês de Janeiro 203 216 14 R$ \n" "Valor do Imposto no mês de Janeiro 217 230 14 R$ \n" "Valor do Aluguel no mês de Fevereiro 231 244 14 R$ \n" "Valor da Comissão no mês de Fevereiro 245 258 14 R$ \n" "Valor do Imposto no mês de Fevereiro 259 272 14 R$ \n" "Valor do Aluguel no mês de Março 273 286 14 R$ \n" "Valor da Comissão no mês de Março 287 300 14 R$ \n" "Valor do Imposto no mês de Março 301 314 14 R$ \n" "Valor do Aluguel no mês de Abril 315 328 14 R$ \n" "Valor da Comissão no mês de Abril 329 342 14 R$ \n" "Valor do Imposto no mês de Abril 343 356 14 R$ \n" "Valor do Aluguel no mês de Maio 357 370 14 R$ \n" "Valor da Comissão no mês de Maio 371 384 14 R$ \n" "Valor do Imposto no mês de Maio 385 398 14 R$ \n" "Valor do Aluguel no mês de Junho 399 412 14 R$ \n" "Valor da Comissão no mês de Junho 413 426 14 R$ \n" "Valor do Imposto no mês de Junho 427 440 14 R$ \n" "Valor do Aluguel no mês de Julho 441 454 14 R$ \n" "Valor da Comissão no mês de Julho 455 468 14 R$ \n" "Valor do Imposto no mês de Julho 469 482 14 R$ \n" "Valor do Aluguel no mês de Agosto 483 496 14 R$ \n" "Valor da Comissão no mês de Agosto 497 510 14 R$ \n" "Valor do Imposto no mês de Agosto 511 524 14 R$ \n" "Valor do Aluguel no mês de Setembro 525 538 14 R$ \n" "Valor da Comissão no mês de Setembro 539 552 14 R$ \n" "Valor do Imposto no mês de Setembro 553 566 14 R$ \n" "Valor do Aluguel no mês de Outubro 567 580 14 R$ \n" "Valor da Comissão no mês de Outubro 581 594 14 R$ \n" "Valor do Imposto no mês de Outubro 595 608 14 R$ \n" "Valor do Aluguel no mês de Novembro 609 622 14 R$ \n" "Valor da Comissão no mês de Novembro 623 636 14 R$ \n" "Valor do Imposto no mês de Novembro 637 650 14 R$ \n" "Valor do Aluguel no mês de Dezembro 651 664 14 R$ \n" "Valor da Comissão no mês de Dezembro 665 678 14 R$ \n" "Valor do Imposto no mês de Dezembro 679 692 14 R$ \n" "Tipo do Imóvel 693 693 1 X \n" "Endereço do Imóvel 694 753 60 X \n" "CEP 754 761 8 N \n" "Código do Município do Imóvel 762 765 4 N \n" "Reservado 766 785 20 Branco(s) \n" "UF 786 787 2 X \n" "Reservado 788 797 10 Branco(s) \n" "Delimitador de Registro 798 799 2 EOL ") subst = "addInRegistro(\\1, \\2, registro.getTipo());\\n" # You can manually specify the number of replacements by changing the 4th argument result = re.sub(regex, subst, test_str, 0, re.MULTILINE) if result: print (result) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html