Expresiones regulares en Perl para el principiante - Parte 4 Introducción Esta es la cuarta parte de mi serie, expresiones regulares en Perl para el principiante. En esta parte de la serie, explico Agrupación regex y captura en Perl. Agrupaciones Nos pueden utilizar paréntesis para caracteres de grupo en un patrón. Considere el siguiente patrón: /El (guitarrista) /"guitarrista" está en paréntesis. Los paréntesis forman un grupo, que tiene el texto, "guitarrista". Considere lo siguiente: /El (guitarrista es bueno) /"guitarrista es bueno" está en paréntesis.
Los paréntesis forman un grupo, que tiene el texto, "guitarrista es bueno". Perl trata a un grupo como una entidad. Un grupo por sí solo no tiene razón de ser. Se convierte en importante cuando se utiliza en conjunción con otras técnicas de patrón. Hay otro uso, que veremos más adelante. Cuerdas Sub con piezas comunes Imagine que tiene una librería donde hay un contador y una estantería. Aquí, tenedor de libros es la persona que se ocupa de los libros. También imagino que usted tiene cualquiera de las siguientes cadenas disponibles: $ availStr =; "Hay un estante en mi tienda.
" $ availStr = "Tengo un tenedor de libros."; $ availStr = "El contador se encarga de la estantería."; En su código, es posible que no sepa qué disposición cadena está presente (la cadena podría haber sido tomado de alguna parte y asignado a una variable); Sin embargo, digamos que su interés es saber si existe una estantería o tenedor de libros en la cadena de asunto. La expresión regular para esta puede ser: /estantería | contador /Obsérvese que en la expresión regular anterior, tenemos que escribir la palabra "libro" dos veces.
Podemos evitar este doble tipificación mediante la siguiente expresión regular: /libro (estantería | arquero) /Esta segunda expresión regular es más eficiente, ya que no tenemos que escribir la palabra "libro" dos veces. En el segundo, tenemos el grupo: (estantería | arquero). Perl trata a un grupo como una sola unidad. También, en este grupo, Perl tiene que elegir "plataforma" o "guardián". De esta manera, Perl tendrá que buscarse un estante o tenedor de libros en el grupo. La siguiente expresión produce una coincidencia.
$ availStr = ~ /libro (estantería | arquero) /Aquí, $ availStr puede ser cualquiera de las secuencias anteriores. Aquí, la palabra "libro" es común a ambas palabras, y es la primera parte de ambas palabras. Usted puede tener una cadena sub que es la segunda parte común de dos frases;