Latest web development tutorials

expresiones regulares de Perl

Regex (expresiones regulares) describe un conjunto de cadenas que se pueden utilizar para comprobar si una cadena contiene una determinada subcadena que ajuste subcadena no sustituir o eliminar una condición coincide con una subcadena de una cadena y así sucesivamente.

Perl expresiones regulares función del lenguaje es muy potente, básicamente el lenguaje común más potente, muchos diseño de lenguajes de soporte de expresiones regulares cuando están referencia expresiones regulares de Perl.

Tres formas de expresiones regulares de Perl se hacen coincidir, la sustitución y la conversión:

  • Partido: m / / (También abreviado como / / M se omite)

  • Reemplazar: s / / /

  • Conversión: tr / / /

! Estas tres formas y son por lo general= ~ o! ~Con el uso = ~ ~ representa partido dijeron que no coinciden.


operador de partido

Partido operador m // se utiliza para identificar una cadena o una declaración de la expresión regular, por ejemplo, para que coincida con la barra de escalar $ en el "run", el código de la siguiente manera:

#!/usr/bin/perl

$bar = "I am w3big site. welcome to w3big site.";
if ($bar =~ /run/){
   print "第一次匹配\n";
}else{
   print "第一次不匹配\n";
}

$bar = "run";
if ($bar =~ /run/){
   print "第二次匹配\n";
}else{
   print "第二次不匹配\n";
}

El programa anterior, la salida es:

第一次匹配
第二次匹配

modificadores de coincidencia de patrones

Hay un patrón común a juego modificadores, como sigue:

modificadores descripción
yo Ignorar el modo de mayúsculas
m el modo multilínea
o Sólo una vez asignado
s el modo de una sola línea "." Match "\ n" (por defecto no coincide)
x Ignorar el modo en blanco
g Partido mundial
cg Tras el fracaso de juego global, permite encontrar una cadena coincidente de nuevo

las variables de expresiones regulares

Perl existirá después del tratamiento para que coincida con el valor del nombre de la variable de tres especiales:

  • La parte frontal de laparte cadena coincidente: $ `
  • $ Y: cadena coincidente
  • $ ': No a la altura de las cuerdas restantes

Si estas tres variables en su conjunto, obtendrá la cadena original.

Ejemplos son los siguientes:

#!/usr/bin/perl

$string = "welcome to w3big site.";
$string =~ m/run/;
print "匹配前的字符串: $`\n";
print "匹配的字符串: $&\n";
print "匹配后的字符串: $'\n";

La salida del programa anterior es:

匹配前的字符串: welcome to 
匹配的字符串: run
匹配后的字符串: oob site.

operadores de sustitución

operador Sustitución s operador /// es para que coincida con la expansión de la utilización de la nueva cadena para sustituir la cadena especificada. El formato básico es el siguiente:

s/PATTERN/REPLACEMENT/;

Patrón que corresponda con el patrón, la sustitución Para sustituir la cadena.

Por ejemplo, "google" Vamos a sustituir la siguiente cadena es "w3big":

#!/usr/bin/perl

$string = "welcome to google site.";
$string =~ s/google/w3big/;

print "$string\n";

La salida del programa anterior es:

welcome to w3big site.

modificador de operación de sustitución

Reemplazar modificador de operación como sigue:

modificadores descripción
yo Si se agrega "i" en el modificador, entonces la sensibilidad caso normal será cancelado, la "a" y "A" es el mismo.
m El inicio predeterminada normal "^" y al final "$" es sólo para la cadena normal si se combina con un modificador de "m", entonces el principio y el final de cada línea se referirán a la cadena: Al comienzo de cada línea es "^", al final es "$".
o Expresión se ejecuta sólo una vez.
s Si añade "s" en el modificador, el valor por defecto. "" En nombre de cualquier carácter excepto una línea nueva se convertirá en cualquier carácter, incluyendo nueva línea es!
x Si se agrega el modificador, se ignorarán los caracteres en blanco de expresión, a menos que se haya escapado.
g Vuelva a colocar todas las cadenas que coinciden.
e Como una expresión de cadena de reemplazo

Los operadores de conversión

El siguiente es un operador de conversión modificadores asociados:

modificadores descripción
c La conversión de todos los caracteres no especificado
d Eliminar todos los caracteres especificados
s La misma salida se redujo a una pluralidad de carácter

Los siguientes ejemplos los $ variable cadena en minúsculas convertidos en mayúsculas:

#!/usr/bin/perl 

$string = 'welcome to w3big site.';
$string =~ tr/a-z/A-z/;

print "$string\n";

La salida del programa anterior es:

WELCOME TO w3big SITE.

En el siguiente ejemplo se utiliza la variable $ string / s repitiendo caracteres eliminados:

#!/usr/bin/perl

$string = 'w3big';
$string =~ tr/a-z/a-z/s;

print "$string\n";

La salida del programa anterior es:

runob

Más ejemplos:

$string =~ tr/\d/ /c;     # 把所有非数字字符替换为空格
$string =~ tr/\t //d;     # 删除tab和空格
$string =~ tr/0-9/ /cs    # 把数字间的其它字符替换为一个空格。

Más reglas de expresiones regulares

expresión descripción
. Coincidir todos los caracteres excepto una línea nueva
x? Partido 0 o una cadena x
x * Partido 0 o más veces x cadena, pero el número mínimo de posibles coincidencias
x + Partido 1 o más veces x cadena, pero el número mínimo de posibles coincidencias
. * Partido 0 o más veces cualquier carácter
. + De ajuste de 1 o más veces de cualquier carácter
{H} Exactamente coincidir con la cadena especificada de m
{M, n} Partidos m o más o menos determinado cadena de n
{M,} Partido mo cadena más específica
[] Que coincide con un carácter dentro de []
[^] Partido no cumple con los caracteres en []
[0-9] Coincidir todos los caracteres numéricos
[AZ] Coincidir todos los caracteres alfabéticos en minúscula
[^ 0-9] Coincidir todos los caracteres no numéricos
[^ Az] Equivale a cualquier caracteres alfabéticos en minúsculas
^ Un carácter que coincide con el comienzo
$ Coincide con el carácter final del personaje
\ D Coincide con un carácter dígitos, y [0-9] la misma sintaxis
\ D + Coincidir cadena numérica múltiple y [0-9] + sintaxis que
\ D No digital, el otro con \ d
\ D + No digital, el otro con \ d +
\ W Una cadena de letras o números, y [a-zA-Z0-9] sintaxis que
\ W + Y [a-zA-Z0-9] + sintaxis que
\ W cartas no están en inglés o números, cadenas y [^ a-zA-Z0-9] la misma sintaxis
\ W + Y [^ a-zA-Z0-9] + sintaxis que
\ S Los espacios, y [\ n \ t \ r \ f] la misma sintaxis
\ S + Y [\ n \ t \ r \ f] + como
\ S No-espacio, y [^ \ n \ t \ r \ f] la misma sintaxis
\ S + Y [^ \ n \ t \ r \ f] + sintaxis que
\ B las letras inglesas, números de serie de límite de concordancia
\ B No coincidentes en orden alfabético, numérico serie de límite
a | b | c De acuerdo con una cadena de caracteres que coincida con el carácter o B o C carácter
abecedario cadena abc juego (patrón) contienen () le recuerda a este símbolo para encontrar la cadena, es una sintaxis muy útil. La primera cadena (dentro) encontrado esta variable se convierte en $ 1 o \ 1 variables, y la segunda (interior) encontraron una variable de cadena en una variable $ 2 o \ 2, y así sucesivamente.
/ Patrón / i i Este parámetro indica ignorar caso en Inglés, es decir, cuando la cadena de búsqueda, ignorando la pregunta caso en Inglés. \ Si usted quiere encontrar un carácter especial en el modo de patrón, como "*", tendrá que añadir delante del carácter el símbolo \, esto permitirá caracteres especiales fallan