Mostrando entradas con la etiqueta Expresion Regular. Mostrar todas las entradas
Mostrando entradas con la etiqueta Expresion Regular. Mostrar todas las entradas

martes, 21 de julio de 2015

Testear con Perl una expresión regular

En la vida de todo programador Perl hay un momento especial en el que hay que escribir una expresión regular. Entonces nos encontramos con que nuestro patrón matchea con más o menos de lo esperado. O nada en realidad.
Este script es util para testear nuestros patrones de ExpReg con algún string y ver si matchea y dónde matchea:

    #!/usr/bin/perl

    # lee una linea de entrada a la vez
    while (<>) {
      chomp;
      if (/YOUR_PATTERN_GOES_HERE/) {
        # codigo misterios! ver explicacion
        print "Matched: |$`<$&>$'|\n"; 
      } else {
        print "No match.\n";
      }
    }

Este script es un test para que lo usen los programadores, no los usuarios finales. Por eso no tienen ningún prompt ni información de cómo se usa. Toma cualquier número de líneas como entrada y chequea cada una contra el patrón que colocas en lugar de "YOUR_PATTERN_GOES_HERE". Para cada línea que matchea se ejecuta el "codigo misterioso". Lo que hace es colocar entre paréntesis angulares el string que coincide con el patrón. Por ejemplo si el patrón es /match/ y la línea de entrada es antesmatchdespues, la salida dirá "antes<match>despues". De esta forma se hace más visible con qué parte de la cadena matchea el patrón. Prueba y verás!

lunes, 26 de agosto de 2013

Ocultar los primeros N digitos o los últimos con una expresion regular con PHP

PHP

Ocultar los primeros caracteres de una cadena

Supongamos que queremos ocultar los primeros 12 caracteres de una cadena que tiene más de 11 caracteres, cambiando esos caracteres por letras x:
$cadena= 'abcdefghijklmnopq';
$pattern = '/^............/i';
$replacement = 'xxxxxxxxxxxx';
$cadena= preg_replace($pattern, $replacement, $cadena);
echo 'Cadena: ' . $cadena;
xxxxxxxxxxxxmnopq

Ocultar los últimos caracteres de una cadena

Supongamos que queremos ocultar los ultimos 4 caracteres de una cadena que tiene más de 3 caracteres, cambiando esos caracteres por letras x:
$cadena= 'abcdefghijklmnopq';
$pattern = '/....$/i';
$replacement = 'xxxx';
$cadena= preg_replace($pattern, $replacement, $cadena);
echo 'Cadena: ' . $cadena;
abcdefghijklmxxxx

jueves, 22 de agosto de 2013

Ocultar los primeros N digitos o los últimos con una expresion regular

Ocultar los primeros caracteres de una cadena

Supongamos que queremos ocultar los primeros 12 caracteres de una cadena que tiene más de 11 caracteres, cambiando esos caracteres por letras x:
$cadena= 'abcdefghijklmnopq';
$cadena =~ s/^............/xxxxxxxxxxxx/;
print 'Cadena: ' . $cadena;
xxxxxxxxxxxxmnopq

Ocultar los últimos caracteres de una cadena

Supongamos que queremos ocultar los ultimos 4 caracteres de una cadena que tiene más de 3 caracteres, cambiando esos caracteres por letras x:
$cadena= 'abcdefghijklmnopq';
$cadena =~ s/....$/xxxx/;
print 'Cadena: ' . $cadena;
abcdefghijklmxxxx