Bom Pessoal, se fossemos realmente falar de expressão regular teriamos muitas linhas para excrever sobre o assunto, acredito que seja mais facil procurar no google que conterá diversas explicações sobre o conceito. O objetivo deste post é apenas exemplificar o uso de expressão regular para validação de campos.
Exemplo: o exemplo utilizado foi a necessidade de validar um campo na entrada da informação de placa de veiculo, foi criado uma fied exit para o campos e validado a regra:
IF NOT input IS INITIAL.
IF cl_abap_matcher=>contains( pattern = ‘[A-Z]{3}[0-9]{4}_[A-Z]{2}|DUTO’ text = input ) NE abap_true.
MESSAGE ‘Veículo deve estar no formato: XXXZZZZ_YY’ TYPE ‘E’.
ENDIF.
ENDIF.
A classe cl_abap_matcher é responsavél por todas as regrasde validações de expressões regulares o metodo contains é uma dos metodos de verificação, o argumento pattern é a expressão regular que deverár ser validada e text o texto a ser verificado.
cl_abap_matcher=>contains(pattern = [] text= [])
Entendendo a expressão:
‘[A-Z]{3}[0-9]{4}_[A-Z]{2}|DUTO’
Estamos verificando se o texto a ser verificado iniciar com as letras de A a Z ) (maiusculas) contendo apenas três letras iniciais, seguinda de numeros de 0 a 9 que deve conter quatro digitos, seguido de um “_” e seguindo de duas letras maiusculas de A a Z ou contem a palavra DUTO. Está expressão poderia ser melhoradas principalmente na parte das duas ultimas letras, mais ja é um bom exemplo do que a expressão regular permiter fazer e o proprio ABAP contém está poderosa ferramenta.
Filed under: Artigos ABAP/4 - Basicos | Tagged: cl_abap_matcher, cl_abap_matcher=>contains, Expressção Regular, Expressção Regular ABAP | Leave a comment »