¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Últimas notícias e alterações em Expressões Regulares em ABAP moderno: migração para sintaxe PCRE, XPath ou XSD.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Cargando...
Neste post do blog, gostaria de compartilhar as últimas notícias e mudanças feitas nas Expressões Regulares no ABAP moderno, principalmente a partir das versões 7.55 e 7.56 do OP.

Anteriormente, eram utilizadas no ABAP as expressões regulares na sintaxe POSIX ou "Portable Operating System Interface for uniX". Portanto, a partir de agora, as expressões regulares na sintaxe POSIX estão obsoletas , sendo que o uso desse tipo de sintaxe de expressões regulares resulta em um aviso de verificação de sintaxe. Embora isso possa ser ocultado com a pragma ##regex_posix, é altamente recomendável migrar para outra sintaxe de expressões regulares suportada pelo ABAP, como as expressões regulares PCRE, XPath ou XSD.


Resumo de RegEx


Expressões regulares, ou regex como são comumente chamadas, geralmente são complicadas e intimidantes para novos usuários. Antes de entrar em detalhes sobre as novas funcionalidades, gostaria de fazer uma breve introdução sobre RegEx em geral e apresentar exemplos escritos explicitamente em ABAP. Aqueles que são especialistas no assunto e podem se entediar, sintam-se à vontade para pular esta seção.

O conceito de RegEx existe há bastante tempo. É usado quando se esperam padrões complexos, como buscar números, letras, caracteres especiais ou validar um endereço de e-mail, etc. Muitos problemas de busca e substituição de texto são difíceis de lidar sem usar correspondências de padrões de expressões regulares. Além disso, no ABAP, uma busca usando uma expressão regular é mais poderosa do que os padrões tradicionais da SAP. Vamos pegar este exemplo simples:
 FIND 'A' IN 'ABCD1234EFG'
  MATCH COUNT sy-tabix.
  WRITE: sy-tabix.

Agora, se você quiser encontrar todas as letras do alfabeto na string sem usar RegEx e com um padrão de busca normal, precisará de um loop sobre as 26 letras. Usando RegEx, seria fácil buscar e encontrar as sete letras:
FIND ALL OCCURRENCES OF PCRE '[A-Z]' IN 'ABCD1234EFG'
  MATCH COUNT  sy-tabix.
WRITE: sy-tabix.

O ABAP suporta RegEx nas sentenças FIND e REPLACE e por meio das classes CL_ABAP_REGEX e CL_ABAP_MATCHER. A classe CL_ABAP_MATCHER aplica uma expressão regular gerada com CL_ABAP_REGEX a uma string de caracteres ou a uma tabela interna.

As Expressões Regulares geralmente são compostas por símbolos e caracteres (literais). Tento cobrir alguns dos símbolos comumente usados na tabela abaixo.











































































Ávido ou Preguiçoso?


Outro conceito que pode ser interessante conhecer é o significado dos quantificadores ávidos ou preguiçosos em RegEx. No modo ávido definido com (*, +, ...) um caractere quantificado se repete tantas vezes quanto possível
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?