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

/
/
msu

Test String

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"s" test_str = ("\n" "AGUAS DE JAHU S/A\n" "AV CDOR ITALO MAZZEI 1250 \n" "JD PLANALTO\n" "17208-550 JAHU SP\n\n" "Roteiro de leitura Lote Cliente\n\n" "JAUAE014-0000000000 16 712125422\n\n" "ATENDIMENTO PN SEU CÓDIGO CONTA/MÊS VENCIMENTO TOTAL A PAGAR (R$)\n\n" "0800 770 4140 712125422 4002597682 MAR/2020 20/04/2020 1.707,52\n" "www.cpflempresas.com.br Segunda Via\n\n" "Nota Fiscal \n\n" "Conta de Energia Elétrica\n\n" "Nº. 122708149 série C\n\n" "Data de Emissão 31/03/2020\n\n" "Data de Apresentação 03/04/2020\n\n" "Pág. 1 de 2\n\n" "Reservado ao fisco\n\n" "4D7D.B1F7.29EC.6D42.4E26.6E48.1E0A.CA68\n\n" " DADOS DO SEU CÓDIGO\n\n" "AGUAS DE JAHU S/A\n" "� � � � � � � � � � � � \n\n\n" " Tarifa Verde-A4 Serviço Público Ag/Esg/San Emp Econ Mista M\n\n" "R JADIR DA COSTA JUNIOR S/N1 AR 1 CNPJ 20.918.034/0001-77\n\n" "17200-000JAHU - SP Inscrição Estadual: 401144028116\n\n" "Conta Contrato Nº.330001669282\n\n" " DISCRIMINAÇÃO DA OPERAÇÃO - RESERVADO AO FISCO\n\n" "Cod.\n\n" "115\n\n" "Descrição da Operação\n\n" "Nº. 327907025127\n" "Mês\n\n" "Ref.\n\n" "Quant.\n\n" "Registrada\n\n" "Quant. \n\n" "Faturada\n\n" "Unid.\n\n" "Med.\n\n" "Tarifa com\n\n" "Tributos\n\n" "Valor Total \n\n" "Operação \n\n" "Base Cálculo\n\n" "ICMS\n\n" "Aliq.\n\n" "ICMS\n\n" "ICMS Base Cálculo\n\n" "PIS/COFINS\n\n" "PIS\n\n" "0,59%\n\n" "COFINS\n\n" "2,78%\n\n" "0605 Consumo Ponta - TUSD-12.00% MAR/20 38,540 38,540 kWh 0,81240270 31,31 31,31 18,00 5,64 31,31 0,18 0,87 \n\n" "0605 Consumo Fora Ponta -TUSD-12.00% MAR/20 687,160 687,160 kWh 0,08466733 58,18 58,18 18,00 10,47 58,18 0,34 1,62 \n\n" "0601 Cons Ponta - TE-12.00% MAR/20 38,540 38,540 kWh 0,48858330 18,83 18,83 18,00 3,39 18,83 0,11 0,52 \n\n" "0601 Cons FPonta TE-12.00% MAR/20 687,160 687,160 kWh 0,29466209 202,48 202,48 18,00 36,45 202,48 1,19 5,63 \n\n" "0602 Demanda - TUSD-12.00% MAR/20 106,272 106,272 KW 11,58329570 1.230,98 1.230,98 18,00 221,58 1.230,98 7,26 34,22 \n\n" "0699 Subvenção Tarifária MAR/20 210,26 210,26 18,00 37,84 210,26 1,25 5,85 \n\n" "Fator Potencia Ponta 0,59190\n\n" "Fator Potencia F Ponta 0,69539\n\n" "Subtotal 1.752,04 \n\n" "0805 Multa por Atraso Pgto 6,72 \n\n" "0804 Juros de Mora JAN/20 3,10 \n\n" "0603 Religação Normal 99,79 \n\n" "Total Distribuidora 1.861,65 \n\n" "0807 Contrib. Custeio IP-CIP Municipal MAR/20 10,63 \n\n" "0899 Custo Adicional de Entrega 0,56 \n\n" "Total Devoluções/Ajustes 11,19 \n\n" "0999 Credito de Subvenção Tarifária 165,32-\n\n" "Total a Pagar 1.707,52 \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " TOTAL CONSOLIDADO 1.707,52 1.752,04 315,37 1.752,04 10,33 48,71 � � \n" " � � \n" " � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � ! \" # � $% � & � � ' ( ) & ( * + ! � ) $ , � * ! # �� - . / / 0 1 2 . 3 4 5 , * ! ( % 6 7 8 9 : ; 7 8 < => ? @ ? A @ > ? > ?B C D E F G H E I J K L M N K O P L Q R S T P LU U ? ? ? V W W X > Y > Z L K S [ S \\ S ] S ^ _ ` V a b ? b c d >e f g e h i j i k e l e m n j f i h n g o p i q g e r i n m p i j f e s t f t g e u m t v f e w x y z t g i hm i g e { y { | | x e i r } e n p i g g n ~  i m i j n f o g } e y p i j s € v n l } h v e ~  i  } l n j f n\n" "Autenticação Mecânica‚ | ƒ ƒ { { { { { „ … † { … † w { { ‡ { | { w w ˆ w w … ‡ ‡ w … { { | ˆ | { { { „ ƒ ƒ ˆ w ‚ w ‚\n\n\n\n" "‰ 8 Š < ‹ Œ ‹  Ž = A ? ? > d X b W Y >\n" "AGUAS DE JAHU S/A\n" "AV CDOR ITALO MAZZEI 1250 \n\n" "Nota Fiscal \n\n" "Conta de Energia Elétrica\n\n" "Nº. 122708149 série C\n\n" "Data de Emissão 31/03/2020\n\n" "Data de Apresentação 03/04/2020\n\n" "Pág. 2 de 2\n\n" "Demanda Contratada\n" "Única 140\n" "Ponta\n" "Fora Ponta\n" "Geração\n\n" "Energia Contratada\n" "Único\n" "Ponta\n" "Fora Ponta\n" "Reservado\n\n" "Bandeira Tarifárias\n" "Verde : De 22 a 29/02 - 08 Dias\n" "Verde : De 01 a 25/03 - 25 Dias\n" "Total : 33 Dias\n" " \n\n" "Micro/Minigeração\n\n" " DATAS DA LEITURA\n\n" "Leitura Anterior 22/02/2020\n\n" "Leitura Atual 25/03/2020\n\n" "Qtd de dias 33\n\n" "Próxima Leitura Prevista 25/04/2020\n\n" " EQUIPAMENTOS DE MEDIÇÃO\n\n" "Energia Ativa 40124871\n\n" "Energia Reativa 40124871\n\n" "Taxa de perda 2,5\n\n" " DADOS DE LEITURA\n\n" "U.M. Atual Anter Ft.Multip\n\n" "kWh Ponta 000062 000015 0,80000\n\n" "kWh F.Ponta 001281 000443 0,80000\n\n" "kWh Reserv.\n\n" "kW Ponta 001024 000000 0,08000\n\n" "kW F.Ponta 001296 000000 0,08000\n\n" "kW Reserv.\n\n" "Ufer Ponta 000047 000020 0,80000\n\n" "Ufer F.Ponta 000388 000156 0,80000\n\n" "Ufer Reserv.\n\n" "kWh Inj. Ponta\n\n" "kWh Inj. FPonta\n\n" "kWh Inj. Reserv\n\n" " NÍVEL DE TENSÃO\n\n" "Contratado 13.200\n\n" "Mínimo 12.276\n\n" "Máximo 13.860\n\n" " INDICADORES DE CONTINUIDADE\n" " DO FORNECIMENTO DE ENERGIA\n\n" "Jaú 3-Antonina\n\n" "DIC FIC DMIC DICRI\n\n" "Padrão mensal 4,59 3,11 2,52 12,22\n\n" "Padrão Trimestral 6,71 4,35\n\n" "Padrão Anual 13,43 8,71\n\n" "Apurado mensal 0,00 0,00 0,00 0,00\n\n" "Período de apuração mês: 01/2020\n\n" "Valor mensal do EUSD: R$ 310,50\n\n" "TARIFA ANEEL\n\n" "kWh Ponta TE R$ 0,38443680 kW Único R$ 9,10800000 \n\n" "kWh Fponta TE R$ 0,23170400 \n\n" "kWh Ponta TUSD R$ 0,63902080 \n\n" "kWh FPonta TUSD R$ 0,06658960   Š ‘ 7 ’ 7 “ 7 ”  8 9 : ‹ ? U @ > ? > ?• – — ˜ ™ š – › – — œ  ž Ÿ   ¡ ¢ £\n" "kWh Dias\n\n" "2020 MAR\n" "lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll 38,00 33\n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" " \n\n" "• – — ˜ ™ š – ¤ – ¥  ¦ § › – — œ  ž Ÿ   ¡ ¢ £\n" "kWh Dias\n\n" "2020 MAR\n" "lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll 687,00 33\n\n" "¨ § š  — ¦  ž Ÿ   ¡ £\n" "kW Dias\n\n" "2020 MAR\n" "lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll 106,00 33\n\n" "k g n © e r i p v } n j f nª « ¬ ­ ® ¬ ¯ « ° ® ± ° ² « ² ³ ° ° ® ´ µ ¶ ® « ­ ± « · ¸ ¹ « ² ³ ° º « · » ± ¬ ° ¸ ­ ® ¬ ° ² ® ­ ® ¶ ´ ¸ ¬ « ´ « ­ « ¶ ¸ ¼ « ® ­ ¶ ¸ ½ ± ­ « ¾ ¿ ³ ² ® ° ± « ¼ « ­ ± ¶ « ² ® ® ¬ ® ¶ » ¸ « ® · À ­ ¶ ¸ Á « Âà ³ · ¸ Á ¸ ­ ® ³ ° ° ® ¶ Ä ¸ ¾ ³ ° ² ¸ ° µ ³ ¬ Å Ä ® ¸ ° ® ´ ¬ ³ ° ° ³ ° ¸ ­ ® Á ³ ´ ¶ « µ ¸ ² ® ¹ ® ° ® » ± ¶ « ¬ ¾ « ® ¶ ® ° ® ¶ Ä ® ´ « ¸ ° ­ ® ´ µ ³ µ « ¶ « Ä ³ Á Æ ® ´ ° ® ± ² ¸ « Ç « Ç ² ¸ « ª « ¸ ° ¸ ¬ ¼ ³ ¶ ´ « ¾ È ® ° « Á ® ° ° ® ³ ® ¬ ² ® ¶ ® ¾ ³ É ± ® Á ³ ¬ ° ­ « ¬ ³ Ä ® ¶ ° ³ ² ® ° ± « Á ³ ¬ ­ « Â} j s i g m e ~ Ê n h h i q g n e s e f t g e\n" "Excepcionalmente este mês estamos postergando sua data de vcto.,\n\n" "de modo a atender os prazos da Resolução 414/ANEEL/2010.\n\n" "Período teste de 12/19 até 03/20 para ajuste do fator de potência\n\n" "conforme Res. 414/ANEEL/2010. Os valores corretos seriam:\n\n" "Reativo Excedente Ponta: 22 kWh - R$ 6,14\n\n" "Reativo Excedente Fora Ponta: 190 kWh - R$ 52,84\n\n" "Dem Reativo Excedente: 36 kWh - R$ 367,99\n\n" "Período de teste de 12/2019 até 03/2020, para ajuste da\n\n" "Demanda de Potência, conforme Res. 414/ANEEL/2010. e  } h i } m k i g f e j f n\n\n\n") matches = re.search(regex, test_str, re.MULTILINE | re.DOTALL | re.UNICODE) if matches: print ("Match was found at {start}-{end}: {match}".format(start = matches.start(), end = matches.end(), match = matches.group())) for groupNum in range(0, len(matches.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = matches.start(groupNum), end = matches.end(groupNum), group = matches.group(groupNum))) # 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