698 Shares 8713 views

Expresión regular (PHP). PHP: expresiones regulares ejemplos

¿Qué tan grande y diverso mundo de la información, con la misma rapidez, se expande y se desarrolla. Cualquier decisión – solamente un punto en el proceso global de movimiento. El conocimiento y la experiencia hacen posible entender el proceso de alcanzar la meta, pero nunca – no el resultado de sus logros. Es dudoso que podemos hablar en un futuro previsible en el resultado, pero es importante que el proceso de búsqueda de la que es un proceso importante y objetivamente necesario.

"El deseo y / o un montón de dinero" no crea un algoritmo capaz de eso, y por supuesto el hombre "libre" hace, sobre todo cuando él no piensa en lo que estaba haciendo. En cualquier situación, el problema de la información tiene por lo menos un ángulo muerto, pero para él, por lo general inmediatamente, manchas otras limpias son visibles, y no necesariamente que todas son flores blancas.

La tecnología de Internet ha simplificado el acceso a la información, pero la pregunta es – cómo poner en tener el deseado – no simplificado, y adquirió nuevo "volumen" de trabajo. Y aunque PHP expresión regular brecha está claro que no agota, que son un importante paso adelante.

funciones simples + algoritmo = patrón

Ofreciendo expresiones regulares, PHP algoritmo reduce significativamente el contenido, pero los algoritmos habituales funciones de búsqueda / reemplazo y de procesamiento que no se encuentran perdió su importancia. Las nuevas ideas no auguran la revolución de la información. Lo más que se puede esperar – código compacto y aumentar el desarrollador de la capacidad de formular una consulta de búsqueda correctamente.

Usted debe conocer y aplicar sobre las expresiones regulares de PHP. Ejemplos convincente y eficaz. Pero debe dar el informe que con la llegada de un nuevo motor de búsqueda, el centro de gravedad se desplazó al patrón – una especie de mecanismo, aunque en realidad sustituida por un conjunto de sencillas funciones de búsqueda, condiciones, bucles, y otros operadores.

tener:

  • la calidad y la herramienta moderna – es bueno;
  • ver y utilizar la experiencia de los colegas es la materia;
  • la combinación de la realidad y la idea virtuales – una garantía de éxito.

El logro de conocimiento de cómo era necesario entender el problema, para resolverlo, es a menudo más importante que el resultado específico.

Las expresiones regulares en PHP son representados por una serie de funciones en la sintaxis del lenguaje y una gran cantidad de ejemplos útiles en Internet. Debido a la sintaxis de las opciones específicas de la aplicación están limitadas sólo por la imaginación de los desarrolladores, pero sleuet tener en cuenta que no todas las plantillas funcionará. Usar la validación de PHP de expresiones regulares es esencial.

Simple carácter de búsqueda (cadena)

Símbolo – esto no es siempre un solo byte, y es a menudo un símbolo, como un chip, tiene un significado preciso, además. Codificación especifica los caracteres visibles en el código diferente. El símbolo puede tener varias opciones: "$" = "USD" = "USD", … – es el significado exacto de que en algún lugar algo, pero no necesariamente cerca, debido a la divisa. Sin embargo, el significado exacto puede estar en PHP variable, que siempre comienza con el carácter "$", pero no puede empezar con "USD" y "USD".

El símbolo del programa puede ser un nombre de función (cadena) en el contexto de: reconocer y cumplir – es de la programación orientada a objetos dinámicos, cuando la estructura, las funciones, las expresiones regulares de PHP se utilizan directamente para la toma de decisiones. Encontrado el símbolo "gira", es decir, por sí mismo determina qué hacer en el lugar en el que se encuentra, y la forma en que es "que considera" necesario.

Buscar un carácter / línea – no es un ejercicio tan simple, y cuanta más información, más clara será la mejor. No siempre es necesario encontrar los diez mejores precios de los alimentos, elegir deliciosas recetas pastel de cumpleaños, o para determinar el contratista para el falso techo.

A menudo es necesario optimizar los algoritmos simples no son información aritmética simple o en condiciones difíciles, cuando el carácter deseado para elegir una base de datos, y la línea en la que es necesario encontrar – un centenar de sitios. El precio es igual para seleccionar un carácter desde el momento en la base de datos de la muestra, y el precio de dónde buscar – Tiempo de búsqueda notorios cientos de sitios.

símbolo solitario – no es una frase, y no un par de frases, que podría estar en cualquier lugar y ser tan pequeño como se desee. Cómo determinar lo que se encontró es la deseada?

Ejemplo: búsqueda de precios

Sólo tiene que encontrar el símbolo de texto "$" – un poco. Compruebe que se enfrenta a una serie, no siempre es suficiente. Si proporciona un punto o número antes del símbolo "$" es una garantía de que los precios a los que los símbolos monetarios están por delante no serán tomados en cuenta. También se han omitido el precio, que en general no se especifica la moneda, pero en la página que está en las instrucciones explícitas.

En general, la solución del problema de la forma habitual inflar más allá algoritmo de reconocimiento y requiere mucho tiempo. Mientras tanto, el uso de una expresión regular, el número de PHP para encontrar ningún problema.

$ CContents = preg_match_all ( "/ [0-9] + ([ $] | USD | y £ | ue) {1} / i.";

"Mira correo electrónico – 2usd;
";
"Encontrar e-mail – 2u.e;
.";
"Correo electrónico de trabajo – UE2;
";
"Comprobar el correo electrónico – $ 13", $ aResult);
. '; '. implosionar ( '', $ aResult [0]). '
'.

Responderá: "2; 2usd, 2u.e.", pero no encontró nada en la línea: "comprobar el correo electrónico – $ 13."

Que prevé la presencia del patrón en frente o detrás del personaje, se puede lograr el éxito rápidamente en la mayoría de los casos.

$ CContents = preg_match_all ( "/ ([0-9] + ([ $] | USD | y £ |. Ue) {1}) | (([$] | USD | y £ . | ue) {1} [0-9] +) / i ";
"Mira correo electrónico – 2usd;
";
"Encontrar e-mail – 2u.e;
.";
"Correo electrónico de trabajo – UE2;
";
"Comprobar el correo electrónico – $ 13", $ aResult);
. '; '. implosionar ( '', $ aResult [0]). '
'.

Resultado: "4; 2usd, 2u.e., UE2, $ 13."

Sobre la lógica no intencionado

Expresiones regulares ofertas de PHP, así como otras herramientas, pero no es necesario que se aplican de acuerdo a sus reglas o utilizar otras funciones proporcionadas manera sintaxis minúsculas.

Posible antes del comienzo de la búsqueda requerida para girar a la matriz, y el lugar donde buscamos, desglosado en componentes de acuerdo con los criterios anteriores. Sólo un par de explotar () e implosionan () a menudo simplifica y acelera la decisión.

Por ejemplo, como resultado de los trabajos preliminares formado una matriz de cadenas (datos) en el distrito de cuántas patatas recolectadas cada pueblo: Desconocido ImyaDerevnya y volumen recogido, y si el país corre varias empresas en una matriz de cadenas es ImyaDerevnya.ImyaPredpriyatie y valor a través de "; " y así sucesivamente todas las empresas. Para calcular la cantidad total recogida en este caso no será posible, pero si haces impode ( ";", $ aResult), será una línea larga, que pareja – ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie – Una colección de tamaño – se transferirán a través del ";". Hacer un reverso en el resultado, explotar ( ";", $ aResult) – una matriz de todos, el cual recopila y cómo se recoge, y luego mediante la eliminación de las líneas de todos los caracteres no numéricos, tenemos sólo números, la suma de los cuales es el volumen total recogido.

En este ejemplo, la expresión regular en PHP no permite mirar demasiado, simplemente y extraer los valores numéricos deseados. Rápida y eficiente, sin importar el tiempo que puede ser el nombre de los pueblos y las empresas. Esta solución no es ideal, pero demuestra que no siempre siguen las reglas deben ser. A menudo es posible conseguir el deseado de una manera inusual.

Haciendo abstracción de la parte técnica, la codificación

La sintaxis del algoritmo no dice cómo se ve en la realidad. Sin embargo, proporcionar la misma codificación de la página, y el guión filas (que se busca en el cual las imágenes) puede sumergirse en el problema es sus aspectos técnicos.

Uno no sólo debe saber qué buscar, pero dónde hacerlo, cuándo, cuánto, qué cambiar y cómo. Formalmente PHP expresiones regulares ejecutados como un mecanismo completamente equipado completo de su propia, pero por muchas razones, la realización de sus homólogos en muchos idiomas diferentes. Como regla general, antes de seguir un patrón particular en un entorno de herramienta en particular para una tarea específica, es necesario llevar a cabo la adaptación de alta calidad, la verificación de todas las opciones posibles para los datos de origen.

Incluso si usted utiliza su propia experiencia en el desarrollo en PHP, expresiones regulares, ejemplos, plantillas y diseño requiere la comprobación cuidadosa. Que cambia dinámicamente la funcionalidad del lenguaje, sintaxis y tiempo de ejecución.

La estructura y el contenido de una plantilla

Lo que estaba escrito previamente en la forma de una combinación de funciones de búsqueda, condicionales, las operaciones de sustitución, insertar, eliminar, es una cadena de caracteres de acuerdo con ciertas reglas – patrón de expresión regular. De hecho, una cantidad significativa se codifica de una manera determinada y ejecutado por normas específicas.

Al igual que es imposible hacer cualquier operador lenguaje de depuración, no se puede depurar un patrón de expresión regular, este proceso sólo puede emular. Como regla general adoptó la versión: trabajos – no funciona. La sintaxis es muy simple, aunque su percepción, sobre todo al principio, es muy difícil.

Un ejemplo de una simple expresión

En una realización sencilla, la plantilla coincide con la cadena:

$ CContents = preg_match ( "/ asdf / i", "asdf", $ aResult). '; '. implosionar ( '', $ aResult).

El resultado será "1; asdf", ya que la función completa su operación en el primero se reunió una plantilla a juego. El resultado será el mismo, si nos fijamos en línea "aaaasdf" en línea "zzzasdfvvv". Si especifica el primer y / o último carácter, el resultado sería clara:

$ CContents = preg_match ( "/ asdf ^ / i", "asdf", $ aResult). '; '. implosionar ( '', $ aResult). '
';
$ CContents. = preg_match ( "/ asdf $ /", "asdf", $ aResult). '; '. implosionar ( '', $ aResult). '
'.

El resultado será: 1; asdf1; asdf.

Los símbolos "*" y "$" indica dónde empezar y el patrón de finalización. Resultado de la función preg_match – el número de partidos que puede ser 0, 1, o falso, si se detecta un error. La tercera opción – una matriz – colocado elemento sólo se encuentra. En el caso de utilizar la función preg_match_all () búsqueda continúa la línea de fondo.

$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; '. implosionar ( '', $ aResult). '
';
$ CContents. preg_match_all = ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; '. implosionar ( '', $ aResult [0]). '
'.

resultado:

1; asdf
3; asdf, asdf, asdf.

Si usted no utiliza instrucciones especiales, cada personaje se define y su lugar, independientemente de la codificación de línea y codificación plantilla. El programador tiene que asegurarse de que la codificación de estos elementos eran correctas en relación el uno al otro y la codificación de página.

Las funciones PHP para trabajar con expresiones regulares

Las expresiones regulares para PHP representan una cadena de caracteres registrada de una manera determinada. Por lo general, por analogía con otros lenguajes de programación, que están escritos en los símbolos "/" … "/" y se coloca entre comillas, se puede utilizar en función simple o doble en el algoritmo.

El partido preg función php principal expresiones regulares utiliza tanto coincidencia de patrón y la detiene en la primera ubicación, una variante del mismo con un _all sufijo encuentra todos los partidos, y emite la serie de los mismos. preg función Replace reemplaza cada coinciden con una plantilla, puede trabajar con matrices, lo que permite el diseño de consulta y realice el reemplazo de una variedad de opciones.

opciones interesantes para trabajar con expresiones regulares se pueden desarrollar utilizando la función preg_replace_callback que no toma en texto de reemplazo, y el nombre de la función, que llevará a cabo dicha sustitución. Además del valor práctico puede implementar mecanismos del patrón del cheque, que el desarrollo y la depuración de la última juega un papel importante.

Alcance de las expresiones regulares

Ya que las lenguas de hipertexto se formalizan información en mayor medida son el material de partida. Desarrollado un gran número de plantillas y diseños que permiten procesar grandes cantidades de datos de manera eficiente. Una parte importante de este trabajo se lleva a cabo mecanismos incorporados en diversos sistemas de gestión de contenidos (CMS).

No es sorprendente que muchos CMS convertirse en estándares de facto para la construcción de sitios, y siendo acompañada por las compañías de software (actualizada), no hacen que sea necesario para llevar a cabo el desarrollo de patrones por sí sola. Sin embargo, fuera de estos sistemas tienen experiencia con las expresiones regulares es muy útil.

Las expresiones regulares y la información real

Un área importante de aplicación de expresiones regulares en las bibliotecas de PHP formó el advenimiento PHPOffice. Trabajar con documentos, hojas de cálculo, y siempre ha tenido importante y estándar OOXML es posible no sólo para desmantelar los documentos reales, sino también para dar forma a su programa.

Gracias al desarrollo de las lenguas de hipertexto y PHP en particular, hay una oportunidad real para automatizar la "producción" de los documentos "formato estándar", por ejemplo, facturas de pago, informes, planes de negocio, y otros objetos de información, la estructura y los contenidos son en realidad susceptibles de formalización y automatización.

En relación con la solicitud para describir el proceso de desarrollo del lenguaje OOXML de las expresiones regulares es bastante diferente de la tradicional de trabajo con lenguajes de marcado HTML y CSS en el primer lugar. El documento real, excepto el marcado y además del contenido real tiene una gran cantidad de detalles. Por ejemplo, un documento que se ha creado automáticamente por el programa, tendrá un contenido fuerte y precisa. Documento formado o la persona tratada, tendrá un contenido, fue pintada sobre una pluralidad de etiquetas. Cualquier trabajo con el documento lleva al hecho de que la semántica de que sean uno, pero pintado en diferentes cantidades en diferentes diseños.

información natural y la situación

Una persona siempre interesado en la solución del problema, que ha organizado la información y, como resultado, se le dará la misma información. La presentación de la declaración del problema en la forma de un documento, una persona obtiene una semántica específicos, que está en la especificación de expertos (modificación, aclarar terminología, borrar, editar) no sólo conduce a múltiples versiones de un documento, sino también a sus versiones con diferentes contenidos.

En particular, la tarea fijada por la frase "Resolver uranenie cuadrada" después de la edición se verá así: "Para resolver una ecuación de segundo grado". Si al principio el primer error se ha corregido, y luego el segundo, entonces la información natural en estilo OOXML podría ser: "[solucionado] [] [cuadrado] [e] [] [aplausos] [b] [nenie]", pero esto no lo hace garantiza que ésta es la tarea aparecerá en el OOXML etiquetas (entre paréntesis emulan las etiquetas entre paréntesis).

Para armar la información puede ser fácilmente después de cada tarea del proceso de edición, pero cada vez que este procedimiento se realizará mediante diversos algoritmos. Las expresiones regulares, como una especie de herramienta de formalización de los problemas de información se han convertido, en efecto, rutas de senderismo desde las estructuras formales de hipertexto a la información natural.