Uso de expresiones regulares en SAP ABAP (REEMPLAZAR, ENCONTRAR REGEX)

Se el primero en calificar

Comience a usar expresiones regulares con ABAP y su código será más eficiente y más corto. FIND REGEX y REPLACE ABAP declaración con ejemplos y casos reales.

En este artículo, comenzaremos con los operadores de expresiones regulares comunes que se usan en ABAP.

Luego, encontrará algunas declaraciones ABAP útiles que usan expresiones regulares para detallar el Regex principal en ABAP: FIND REGEX y REPLACE. 

Lista de operadores de expresiones regulares (en ABAP)

Comencemos primero por la lista de operadores de expresiones regulares

Operador Objetivo
. El punto coincide con un solo carácter.
? Indica que no aparece ningún carácter o un conjunto de caracteres o que aparece una sola vez.
* Indica cualquier número de ocurrencias (0/1/ o más) de un carácter o un conjunto de caracteres.
+ Coincide con una o más ocurrencias de un carácter o conjunto de caracteres.
< Coincide con el inicio de una palabra. > ?Coincide con el final de una palabra.
^ Se usa para denotar negación cuando se usa con corchetes, así como el marcador de inicio de línea.
?= como condición de vista previa.
?! Se utiliza como una condición de vista previa negada.
1 marcadores de posición para registros de subgrupos.
2 Se utiliza para marcadores de posición para registros de subgrupos.
ps Indica el final de una línea.
d Denota un dígito (0-9).
w Denota un carácter alfanumérico.
u Coincide con un solo alfabeto
HOLA, estas en Statologos la enciclopedia más grande de estadística aplicada en español, no olvides que tienes un potente buscador de información en el menú utilizalo sabiamente 😉

Declaración ABAP útil usando expresiones regulares

Encontrará algunos usos útiles de expresiones regulares en ABAP

Verifique también� Dos formas de verificar si el correo electrónico es válido en ABAP: Función Vs Regex

REEMPLAZO DE REGEX

Sintaxis del patrón REEMPLAZAR EN  

La sintaxis del patrón REPLACE� EN la programación ABAP es la siguiente

REEMPLAZAR  [{ PRIMERA OCURRENCIA }|  { TODAS LAS OCURRENCIAS }  DE ]  patrón         EN  [ sección_de ]  dobj CON nuevo         [ EN  { CARÁCTER | BYTE }  MODO ]         [ opciones_de_reemplazo ] .

Mira este ejemplo de cómo usar REEMPLAZAR con expresiones regulares. Estos ABAP Snippets reemplazarán todas las u en la cadena de texto con x

Excepciones a REEMPLAZO DE REGEX

Para manejar los errores de expresiones regulares ABAP, SAP agregó 3 excepciones Regex.

Aquí la lista de excepciones a REPLACE OF REGEX

  • CX_SY_INVALID_REGEX
    • Causa: Expresión ilegal después de la adición de REGEX . Error de tiempo de ejecución: INVALID_REGEX
  • CX_SY_REGEX_TOO_COMPLEX
    • Causa: Más información: Excepciones en Expresiones Regulares. Error de tiempo de ejecución: REGEX_TOO_COMPLEX
  • CX_SY_INVALID_REGEX_FORMAT
    • Causa: Patrón de reemplazo no válido después de la adición CON . Error de tiempo de ejecución: INVALID_FORMAT

Eliminación de caracteres adicionales en el número de teléfono usando FIND REGEX en ABAP

Aquí otro ejemplo, y útil. Para eliminar ningún número numérico de un número de teléfono, utilice la siguiente línea de código ABAP:

Declaración FIND REGEX en ABAP

En esta variante, se realiza una búsqueda de una coincidencia con una expresión regular especificada en regex.

Posición de expresión similar a un personaje

Para expresiones regulares, se puede especificar un operando similar a un carácter que contiene una expresión regular válida cuando se ejecuta la declaración, o una variable de referencia de objeto que apunta a una instancia de la clase CL_ABAP_REGEX.

Si se especifica directamente, regex es una posición de expresión similar a un carácter.

En las búsquedas de una expresión regular, se pueden ingresar cadenas de búsqueda específicas que permitan más condiciones, incluidas las condiciones de pronóstico.

Las apariciones se determinan de acuerdo con la regla «la más larga a la izquierda».

Regex ABAP: Múltiples coincidencias

De todas las coincidencias posibles entre la expresión regular y la cadena de caracteres requerida, se selecciona la subcadena que comienza en la posición más a la izquierda.

Si hay varias coincidencias en esta posición, se selecciona la más larga de esta subcadena.

Una subcadena vacía en regex no es una expresión regular válida y genera una excepción. Una cadena de caracteres está vacía si la expresión regular es una cadena vacía o es del tipo c, n, d o t y solo contiene espacios en blanco.

Algunas expresiones regulares que no están vacías, como a*, se utilizan para buscar cadenas de caracteres vacías. Esto es posible cuando se busca la primera ocurrencia o todas las ocurrencias.

La subcadena vacía relevante se encuentra antes del primer carácter, entre todos los caracteres y después del último carácter de los rangos de búsqueda. Una búsqueda de este tipo siempre tiene éxito.

Una expresión regular puede tener la sintaxis correcta, pero ser demasiado compleja para la ejecución de la instrucción FIND , que genera una excepción manejable para la clase CX_SY_REGEX_TOO_COMPLEX. Consulte Excepciones en expresiones regulares.

Ejemplo de ENCONTRAR REGEX

La siguiente búsqueda encuentra la subcadena ‘ababb’ desde el desplazamiento 3 o superior.

Usando la regla «la más larga a la izquierda», no se encuentra la otra subcadena coincidente ‘babboo’ del desplazamiento 4 o superior.

Otro ejemplo puede ser (reemplazar múltiples si)

Tenga en cuenta también que puede usar FIND REGEX con ‘ignorar mayúsculas’ si las mayúsculas no hacen ninguna diferencia con las minúsculas en su caso.

O incluso puede concatenar la condición con OR (|) en las expresiones regulares.

admin Administrator
No hay contenido aun.
Download WordPress Themes Free
Free Download WordPress Themes
Premium WordPress Themes Download
Download WordPress Themes Free
download udemy paid course for free
download mobile firmware
Free Download WordPress Themes
udemy paid course free download

Deja un comentario

SAP Process Order Idoc Outound: Sample ABAP es la última parte de LOIPRO IDoc.Cubrirá un código ABAP de muestra sobre…