Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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
Processing...

Test String

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"^([ \t]+\d+[ \t]+\d+[A-Z .\/]+\d+[ \t]+\d+[ \t]+\d+[ \t]+\d+)\n(^[ \t]{2,}.*?^\s*$)?"; string input = @" Rede Nacional de Dados Pagina : 1 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 ************************************ * * * RESPOSTA DA PROG. DE ENTREGAS * * * ************************************  ELABORADO POR: A N F A V E A S I N D I P E C A S Rede Nacional de Dados Pagina : 2 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 INTRODUCAO  Este manual foi concebido pela Comissao de E.D.I. da ANFAVEA e SINDIPECAS com a finalidade de divulgar e incentivar o uso da tecnologia de E.D.I. no Brasil. Sob o patrocinio da ANFAVEA, foram desenvolvidos os estudos preliminares que conduziram ao primeiro esforco de padronizacao EDI no Brasil. Em 1987, foi formada uma sub-comissao permanente de padronizaco de forma- tos E.D.I., que, embora esteja vinculada aos propositos da industria automobilistica, tambem apoia as demais instituicoes no que se refere a tecnologia de E.D.I.. A Comissao tem reunioes mensais, na sede da ANFAVEA onde se discutem os processos, as praticas e se definem as transacoes de E.D.I. a serem praticadas pela industria automobilistica. Atualmente, ela se compoe de duas subcomissoes: Sub-comissao de E.D.I. da ANFAVEA Comissao de E.D.I. do SINDIPECAS onde, cada parte (montadoras e fornecedores) levanta as necessidades de seus associados, orientam e apresentam propostas a Comissao de E.D.I. para avaliacao e aprovacao. Como ferramenta auxiliar deste trabalho, a Comissao, com o auxilio da APD da ANFAVEA, desenvolveu este software que armazena todas as transacoes de- finidas neste forum e que permite a qualquer participante, direto ou indi- reto, obter as mesmas informacoes. Voce participa deste processo! Por isso, caso tenha alguma recomendacao, critica ou melhorias por favor contate: ANFAVEA Comissao de Informatica e Automacao Sub-Comissao de E.D.I. At.: APD - Assessoria de Processamento de Dados Av. Indianopolis, 496 - Sao Paulo CEP 04062-900 Fone: 549-4044 FAX: 549-4044 r. 225 SINDIPECAS Comissao de E.D.I. At.: Assessoria Economica Rua Abilio Soares, 1487 - Sao Paulo CEP 04005-005 Fone: 884-4599 FAX: 884-0584 Rede Nacional de Dados Pagina : 3 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 1 - Objetivo Transacao onde o Forncedor confirma / retifica a Programacao de Entregas desejada pelo cliente. 2 - Operacionalizacao  E' aconselhavel a leitura do manual RND (REDE NACIONAL DE DADOS - ANFAVEA) para um melhor entendimento. Este manual NAO se destina a problemas tecnicos de comunicacao. O processo de implementacao desta transacao deve ser definido entre clientes e fornecedores e vice-versa. Os valores que os ""campos"" podem assumir estao descritos nos itens 3.3 e/ou 4 deste manual. 2.1 - Pre-requisitos  Conhecimentos basicos de E.D.I. (Electronic Data Interchange). Como sugestao indicamos o manual E.D.I. Sindipecas.  Rede Nacional de Dados Pagina : 4 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 2.2 - Validade sobre o conteudo da transmissao 2.3 - Historico   VERSAO HOMOLOGACAO VIGENCIA MOTIVO ------ ----------- -------- ------------------------------------------------------------ 00 16/03/89 16/03/89 Revisao grupo de trabalho de 23/02/90  Rede Nacional de Dados Pagina : 5 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 3 - Composicao 3.1 - Modelo Grafico +-------------------------------------------------------------------------+ |ITP (1) | | Mandatorio | | +-------------------------------------------------------------------+| | |RP1 (N) || | | Mandatorio || | | +-------------------------------------------------------------+|| | | |RP2 (N) ||| | | | Opcional ||| | | +-------------------------------------------------------------+|| | | +-------------------------------------------------------------+|| | | |TE1 (N) ||| | | | Opcional ||| | | +-------------------------------------------------------------+|| | +-------------------------------------------------------------------+| | +-------------------------------------------------------------------+| | |FTP (1) || | | Mandatorio || | +-------------------------------------------------------------------+| +-------------------------------------------------------------------------+ 3.2 - Modelo Descritivo IDENTIF. INDICADOR REG DE USO OCORR. SUBORD. NOME DO REGISTRO --- ------ ------ ------- ------------------------------ ITP M 1 INICIO DA TRANSMISSAO PROCESSO RP1 M N ITP IDENT. PECA P/ RESP. PROG.ENTR RP2 O N RP1 ATENDIMENTO DA PROG. ENTREGA TE1 O N RP1 TEXTO LIVRE FTP M 1 ITP TERMINO TRANSMISSAO PROCESSO 3.3 - Elemento Chave da Transacao: 0 0 0 Rede Nacional de Dados Pagina : 6 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 LAYOUT DE REGISTRO ITP - INICIO DA TRANSMISSAO PROCESSO IND. SEQ. ELEM NOME DO ELEMENTO USO TIPO TAM. DEC. POSICAO ---- ---- ------------------------------ --- ---- --- --- ------- 1 1 IDENT. DO TIPO DE REGISTRO M A 3 0 1 3 Identificacao de um registro de uma determinada transacao de comunicacao. Ex.: Registros ITP, PE1, AE2, EF1, etc.  2 33 IDENTIFICAO DO PROCESSO M N 3 0 4 6 Numero que identifica a transacao de comunicacao,devendo ser definida pela comissao responsavel  3 34 NUMERO DA VERSAO DA TRANSACAO M N 2 0 7 8 Numero da versao da transacao deve obedecer o item 2.3 (his- torico) do Manual de Transacao.  4 36 NUMERO DE CONTROLE TRANSMISSAO O N 5 0 9 13 Numero de controle do movimento contido na transacao de comu nicacao, atribuido pelo transmissor. Numero sequencial, para cada transmissao e para cada recepcao.  5 35 IDENT. GERACAO DO MOVIMENTO M N 12 0 14 25 Data e hora da geracao do movimento, contido na transacao de comunicacao. Indicam: AAMMDD e HHMMSS.  6 37 IDENT. TRANSMISSOR NA COMUNIC. M N 14 0 26 39 Identificacao do transmissor na comunicacao, representado pe lo seu C.G.C.  7 38 IDENT. RECEPTOR NA COMUNIC. O A 14 0 40 53 Identificacao do receptor na comunicacao, representado pelo  seu C.G.C.  8 151 CODIGO INTERNO DO TRANSMISSOR O A 8 0 54 61 CODIGO INTERNO PELO QUAL O TRANSMISSOR E' RECONHECIDO PELO  RECEPTOR.  9 152 CODIGO INTERNO DO RECEPTOR O A 8 0 62 69 CODIGO INTERNO PELO QUAL O RECEPTOR E RECONHECIDO PELO  TRANSMISSOR.  10 243 NOME DO TRANSMISSOR O A 25 0 70 94 Nome pelo qual o transmissor e' identificado junto ao seu  parceiro  11 244 NOME DO RECEPTOR O A 25 0 95 119 Nome pelo qual o receptor e' identificado pelo transmissor  12 9999 ESPACO M A 9 0 120 128 Rede Nacional de Dados Pagina : 7 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 LAYOUT DE REGISTRO RP1 - IDENT. PECA P/ RESP. PROG.ENTR IND. SEQ. ELEM NOME DO ELEMENTO USO TIPO TAM. DEC. POSICAO ---- ---- ------------------------------ --- ---- --- --- ------- 1 1 IDENT. DO TIPO DE REGISTRO M A 3 0 1 3 Identificacao de um registro de uma determinada transacao de comunicacao. Ex.: Registros ITP, PE1, AE2, EF1, etc.  2 2 COD. FABRICA DE DESTINO M A 3 0 4 6 Codigo da fabrica de destino do item.  Este codigo sera combinado entre o cliente e o fornecedor.  3 3 IDENT. PROGRAMA ATUAL M A 9 0 7 15 Identific. do Programa de peca/material atual emitido pelo  cliente, mantendo-se inalterado ate a emissao do novo Pro-  grama.  4 4 DATA DO PROGRAMA ATUAL M N 6 0 16 21 Data de emissao do Programa de Peca/Material atual emitido  pelo cliente.  5 7 COD. ITEM DO CLIENTE M A 30 0 22 51 Codigo interno atribuido pelo cliente para os itens que  adquire do fornecedor.  6 8 COD. ITEM DO FORNECEDOR O A 30 0 52 81 Codigo interno atribuido pelo fornecedor para os itens que  fornece ao cliente.  7 9 NUMERO DO PEDIDO DE COMPRA M A 12 0 82 93 Numero do Pedido de Compra/Contrato de fornecimento de Itens emitido pelo cliente.  8 19 COD. UNIDADE DE MEDIDA M A 2 0 94 95 Codigo da unidade de medida do item convencionada para a  transacao de comunicacao. Exs: KG, LT, PC, MT, etc.  9 22 QUANT. DE CASAS DECIMAIS M N 1 0 96 96 Quantidade de casas decimais utilizadas em determinadas tran sacoes de comunicacao. Ex: registros PE3, RP2, etc.  10 18 QUANT. LOTE MINIMO O N 12 3 97 108 Quantidade do lote minimo do item a ser entregue/embarcado  por vez pelo fornecedor ao cliente.  11 9999 ESPACO M A 20 0 109 128 Rede Nacional de Dados Pagina : 8 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 LAYOUT DE REGISTRO RP2 - ATENDIMENTO DA PROG. ENTREGA IND. SEQ. ELEM NOME DO ELEMENTO USO TIPO TAM. DEC. POSICAO ---- ---- ------------------------------ --- ---- --- --- ------- 1 1 IDENT. DO TIPO DE REGISTRO M A 3 0 1 3 Identificacao de um registro de uma determinada transacao de comunicacao. Ex.: Registros ITP, PE1, AE2, EF1, etc.  2 24 DATA ENTREGA/EMBARQUE DO ITEM M N 6 0 4 9 Data de entrega/embarque do item. Nos casos em que este cam- po nao contiver a data, seu conteudo devera ser ajustado en- tre as partes.  3 25 QT DE ENTREGA/EMBARQUE DO ITEM M N 9 0 10 18 Quantidade de entrega/embarque do item. Este campo esta asso ciado aos campos 022 (qt.casas decimais) e 024 (data de en-  trega)  4 79 QUANT. DE ITENS A FORNECER M N 9 0 19 27 E' a quantidade de itens que o fornecedor consegue suprir o cliente para uma determinada data. As casa decimais estao  definidas no campo 022 (unid. casas decimais).  5 24 DATA ENTREGA/EMBARQUE DO ITEM O N 6 0 28 33 Data de entrega/embarque do item. Nos casos em que este cam- po nao contiver a data, seu conteudo devera ser ajustado en- tre as partes.  6 25 QT DE ENTREGA/EMBARQUE DO ITEM O N 9 0 34 42 Quantidade de entrega/embarque do item. Este campo esta asso ciado aos campos 022 (qt.casas decimais) e 024 (data de en-  trega)  7 79 QUANT. DE ITENS A FORNECER O N 9 0 43 51 E' a quantidade de itens que o fornecedor consegue suprir o cliente para uma determinada data. As casa decimais estao  definidas no campo 022 (unid. casas decimais).  8 24 DATA ENTREGA/EMBARQUE DO ITEM O N 6 0 52 57 Data de entrega/embarque do item. Nos casos em que este cam- po nao contiver a data, seu conteudo devera ser ajustado en- tre as partes.  9 25 QT DE ENTREGA/EMBARQUE DO ITEM O N 9 0 58 66 Quantidade de entrega/embarque do item. Este campo esta asso ciado aos campos 022 (qt.casas decimais) e 024 (data de en-  trega)  Rede Nacional de Dados Pagina : 9 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 LAYOUT DE REGISTRO RP2 - ATENDIMENTO DA PROG. ENTREGA IND. SEQ. ELEM NOME DO ELEMENTO USO TIPO TAM. DEC. POSICAO ---- ---- ------------------------------ --- ---- --- --- ------- 10 79 QUANT. DE ITENS A FORNECER O N 9 0 67 75 E' a quantidade de itens que o fornecedor consegue suprir o cliente para uma determinada data. As casa decimais estao  definidas no campo 022 (unid. casas decimais).  11 24 DATA ENTREGA/EMBARQUE DO ITEM O N 6 0 76 81 Data de entrega/embarque do item. Nos casos em que este cam- po nao contiver a data, seu conteudo devera ser ajustado en- tre as partes.  12 25 QT DE ENTREGA/EMBARQUE DO ITEM O N 9 0 82 90 Quantidade de entrega/embarque do item. Este campo esta asso ciado aos campos 022 (qt.casas decimais) e 024 (data de en-  trega)  13 79 QUANT. DE ITENS A FORNECER O N 9 0 91 99 E' a quantidade de itens que o fornecedor consegue suprir o cliente para uma determinada data. As casa decimais estao  definidas no campo 022 (unid. casas decimais).  14 24 DATA ENTREGA/EMBARQUE DO ITEM O N 6 0 100 105 Data de entrega/embarque do item. Nos casos em que este cam- po nao contiver a data, seu conteudo devera ser ajustado en- tre as partes.  15 25 QT DE ENTREGA/EMBARQUE DO ITEM O N 9 0 106 114 Quantidade de entrega/embarque do item. Este campo esta asso ciado aos campos 022 (qt.casas decimais) e 024 (data de en-  trega)  16 79 QUANT. DE ITENS A FORNECER O N 9 0 115 123 E' a quantidade de itens que o fornecedor consegue suprir o cliente para uma determinada data. As casa decimais estao  definidas no campo 022 (unid. casas decimais).  17 9999 ESPACO M A 5 0 124 128 Rede Nacional de Dados Pagina : 10 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 LAYOUT DE REGISTRO TE1 - TEXTO LIVRE IND. SEQ. ELEM NOME DO ELEMENTO USO TIPO TAM. DEC. POSICAO ---- ---- ------------------------------ --- ---- --- --- ------- 1 1 IDENT. DO TIPO DE REGISTRO M A 3 0 1 3 Identificacao de um registro de uma determinada transacao de comunicacao. Ex.: Registros ITP, PE1, AE2, EF1, etc.  2 29 TEXTO LIVRE INFORMATIVO M A 40 0 4 43 Mensagem em formato livre.  3 29 TEXTO LIVRE INFORMATIVO O A 40 0 44 83 Mensagem em formato livre.  4 29 TEXTO LIVRE INFORMATIVO O A 40 0 84 123 Mensagem em formato livre.  5 9999 ESPACO M A 5 0 124 128 Rede Nacional de Dados Pagina : 11 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 LAYOUT DE REGISTRO FTP - TERMINO TRANSMISSAO PROCESSO IND. SEQ. ELEM NOME DO ELEMENTO USO TIPO TAM. DEC. POSICAO ---- ---- ------------------------------ --- ---- --- --- ------- 1 1 IDENT. DO TIPO DE REGISTRO M A 3 0 1 3 Identificacao de um registro de uma determinada transacao de comunicacao. Ex.: Registros ITP, PE1, AE2, EF1, etc.  2 36 NUMERO DE CONTROLE TRANSMISSAO O N 5 0 4 8 Numero de controle do movimento contido na transacao de comu nicacao, atribuido pelo transmissor. Numero sequencial, para cada transmissao e para cada recepcao.  3 39 QUANT. REGISTROS NA TRANSACAO M N 9 0 9 17 Quantidade total de registros de uma transacao, incluindo os registros ITP e FTP.  4 245 NUMERO TOTAL DE VALORES O N 17 2 18 34 Soma dos valores dos registros que foram transmitidos para  efeito de controle.  5 201 CATEGORIA DA OPERACAO O A 1 0 35 35 Indica qual o tipo de transacao foi efetuada na conta corren te da empresa. Ex.: d-debito ou c-credito.  Este elemento faz referencia a um valor.  6 9999 ESPACO M A 93 0 36 128 Rede Nacional de Dados Pagina : 12 Sub-Comissao de E.D.I. Transacao : 006 Manual Operacional Versao : 00 RESPOSTA DA PROG. DE ENTREGAS Vigencia : 16/03/89 Emissao : 20/11/00 4 - ANEXO  ELEMENTO 002 - COD. FABRICA DE DESTINO  Empresa Codigo Descricao FIAT 100 Formatado sempre com este valor GM 01 Sao Caetano do Sul GM 02 Sao Jose dos Campos ELEMENTO 003 - IDENT. PROGRAMA ATUAL  Empresa Codigo Descricao GM E' uma numeracao crescente que referencia a Autorizacao deEntrega de Materiais. Pode ocorrer que esta numeracao venhaacompanhada da letra ""R"". Neste caso significa que a AEMsofreu uma revisao nas suas quantidades. Ex:n. 0545 ou0545R. Obs.: Caso o fornecedor receba duas AEM's com a mesmanumeracao e ambas revisadas, devera sempre prevalecer a AEMcom data mais recente. FIAT 00000001 Formatado sempre com este valor "; RegexOptions options = RegexOptions.Multiline | RegexOptions.Singleline; foreach (Match m in Regex.Matches(input, pattern, options)) { Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index); } } }

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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx