Informática, Programación
Expresións regulares (PHP). PHP: expresións regulares, exemplos
Como grande e diverso mundo da información, coa mesma rapidez, se expande e se desenvolve. Calquera decisión - só un punto de no proceso global de movemento. Coñecemento e experiencia facelo posible comprender o proceso de alcanzar o obxectivo, pero nunca - non o resultado das súas realizacións. É dubidoso que podemos falar no futuro previsíbel sobre o resultado, pero é importante que o proceso de esforzarse para iso é un proceso importante e obxectivamente necesario.
"Desexo e / ou unha chea de diñeiro" non crear un algoritmo capaz de facelo, e, por suposto, o home "libre" fai, sobre todo cando non pensa sobre o que estaba facendo. En calquera situación, o problema de información ten polo menos un punto cego, pero para el, xeralmente inmediatamente, manchas outros limpas son visibles, e non necesariamente que son todas as flores brancas.
tecnoloxía de Internet ten simplificado o acceso á información, pero a cuestión é - como poñer en ter o desexado - non simplificado, e adquiriu novo "volume" de traballo. E aínda PHP regexp lagoa claramente non se esgota, son un significativo paso adiante.
funcións simples + algoritmo = estándar
Ofrecendo expresións regulares PHP algoritmo reduce significativamente o contido, pero os algoritmos habituais funcións de investigación / substitución e de procesamento non foi pensado perdeu a súa importancia. Novas ideas non presaxian a revolución da información. O máximo que se pode esperar - código compacto e aumentar o creador a capacidade de formular unha consulta de busca correctamente.
Debe coñecer e aplicar en PHP expresións regulares. Exemplos convincente e eficaz. Pero debe dar o informe que, coa chegada dun novo buscador, o centro de gravidade desprazouse para o estándar - unha especie de mecanismo, aínda que de feito substituído por un conxunto de funcións simples de busca, condicións, loops e outros operadores.
ter:
- calidade e ferramenta moderna - é bo;
- ver e utilizar a experiencia de compañeiros é a materia;
- combinando realidade e idea virtual - unha garantía de éxito.
Alcanzar o coñecemento de como era necesario entender o problema, resolver-lo, moitas veces é máis importante que o resultado concreto.
Expresións regulares en PHP son representadas por unha serie de funcións na sintaxe da linguaxe e unha morea de exemplos útiles en Internet. Por mor da sintaxe opcións de aplicación específicas son limitadas só pola imaxinación do creador, pero sleuet ter en conta que non todos os modelos traballarán. Usando validación PHP de expresións regulares é esencial.
carácter busca simple (cadea)
Símbolo - iso non sempre é un único byte, e moitas veces é un símbolo, como un chip, ten un significado preciso, ademais. Codificación especifica os caracteres visibles no código diferente. O símbolo pode ter varias opcións: "$" = "USD" = "USD", ... - é o significado exacto de que nalgún lugar algo, pero non necesariamente preto, debido á moeda. Con todo, o significado exacto pode estar en PHP variable, que sempre comeza co carácter "$", pero non pode comezar con "USD" e "USD".
O símbolo do programa pode ser un nome de función (cadea) no contexto: recoñecer e cumprir - é a partir da programación dinámica orientada a obxecto, cando a estrutura, funcións, expresións PHP regulares son usados directamente á toma de decisións. Atopar o símbolo "voltas", isto é, por si só determina o que facer no lugar en que se atopa, e do xeito que está "considera" necesario.
Buscar un personaxe / liña - non é un exercicio tan sinxelo, e canto máis información, máis claro, mellor. Non sempre é necesario atopar os dez mellores dos prezos dos alimentos, escoller deliciosas receitas bolo de aniversario, ou para determinar o contratista para o falso teito.
Moitas veces é necesario para optimizar os algoritmos simples non son información aritmética simple ou en condicións difíciles, cando o personaxe desexado para escoller unha base de datos, ea liña en que é necesario atopar - cen sitios. O prezo é igual para seleccionar un carácter desde o momento a base de datos de mostra, eo prezo de onde buscar - busca de tempo notorios centos de sitios.
símbolo Lone - non é unha frase, e non poucas frases, podería estar en calquera lugar e ser tan pequeno como desexado. Como determinar o que se atopou é o desexado?
Exemplo: procura de prezos
Só ten que atopar o símbolo de texto "$" - un pouco. Comprobe que afronta un número, non sempre é suficiente. Se ofrecer un punto ou número antes do "$" símbolo é unha garantía de que os prezos a que os símbolos monetarios están á fronte non será tido en conta. Tamén son omitidos o prezo, que en xeral non se especifica moeda, pero na páxina é en instrucións explícitas.
En xeral, a solución do problema do xeito habitual inflar ademais algoritmo de recoñecemento e lento. Mentres tanto, usando unha expresión regular, o número de PHP vai atopar ningún problema.
$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | USD | y \ £ \ | UE) {1} / i.";
"Olle correo-e - 2usd;
";
"Buscar e-mail - 2u.e;
.";
"O traballo e-mail - UE2;
";
"Comprobar correo-e - $ 13", $ aresult);
. ' '. implode ( '', $ aresult [0]). '
'.
Vai responder: "2; 2usd, 2u.e.", pero non atopou nada na liña "comprobar correo-e - $ 13."
Que prevé a presenza do estándar diante ou detrás do personaxe, pode alcanzar o éxito rápido na maioría dos casos.
$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | USD | y \ £ \ |. UE) {1}) | (([$] | USD | y \ £ \. | UE) {1} [0-9] +) / i ";
"Olle correo-e - 2usd;
";
"Buscar e-mail - 2u.e;
.";
"O traballo e-mail - UE2;
";
"Comprobar correo-e - $ 13", $ aresult);
. ' '. implode ( '', $ aresult [0]). '
'.
Resultado: "4; 2usd, 2u.e., UE2, $ 13."
Sobre a lóxica non intencional
Regulares ofertas Expresións PHP, así como outras ferramentas, pero non é necesario aplicala las de acordo coas súas normas ou usar outras funcións fornecidas xeito sintaxe minúsculas.
Posible, antes do inicio da investigación necesaria para transformar a matriz, eo lugar onde se busca, dividido en compoñentes de acordo con criterios anteriores. Só un par de estoura () e implode () miúdo simplifica e acelera a decisión.
Por exemplo, como resultado de traballo preliminar formada unha matriz de cadeas (datos) na provincia de cantas patacas reunidas todas as aldeas: ImyaDerevnya descoñecido e volume traído, e se o país corre varias empresas nunha variedade de cordas é ImyaDerevnya.ImyaPredpriyatie e valor a través de "; " etc. todas as empresas. Calcule o valor total recadado neste caso non será posible, pero se fai impode ( ";", $ aresult), será unha liña longa, na que o par - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - unha colección de tamaño - serán trasladados vía o ";". Facer un reverso na resultante, estoura ( ";", $ aresult) - un conxunto de todo, quen recollidas e como son recollidas, e, a continuación, eliminar as liñas de todos os caracteres non numéricos, temos só números, a suma do que é o volume total recadado.
Neste exemplo, a expresión regular en PHP non permiten a mirar moito, son fáciles e accesibles extraer os valores numéricos desexados. Rapidez e eficiencia, non importa canto tempo pode ser os nomes das aldeas e empresas. Esta solución non é ideal, pero iso demostra que non sempre seguen as regras deben ser. Moitas veces, é posible acadar o desexado dun xeito inusual.
Abstraindo do lado técnico, a codificación
A sintaxe do algoritmo non di como parece na realidade. Con todo, proporcionando o mesmo conxunto de caracteres da páxina, e liñas de guión (que é demandado na que as imaxes) pode mergullar o problema é os seus aspectos técnicos.
Unha persoa non debe só saber o que buscar, pero onde facelo, cando, como, o que cambiar e como. Formalmente PHP expresións regulares executados como un mecanismo full-featured completo do seu propio, pero por moitos motivos, a realización dos seus homólogos en moitas linguas diferentes. Como regra xeral, antes de pasar un determinado patrón nun ambiente de determinada ferramenta para unha tarefa específica, é necesaria a realización de adaptación de alta calidade, para comprobar todas as opcións posibles para os datos de orixe.
Mesmo se usa a súa propia experiencia en desenvolvemento en PHP, expresións regulares, exemplos, modelos e deseño require unha verificación coidadosa. Dinamicamente cambiar a función da linguaxe, sintaxe e tempo de execución.
A estrutura eo contido dun modelo
O que foi escrito anteriormente, en forma de unha combinación de funcións de investigación, condicionais, as operacións de substitución, insert, delete, é unha secuencia de caracteres segundo certas regras - patrón de expresión regular. De feito, unha cantidade significativa é codificada dunha determinada maneira e executado por normas específicas.
Así como é imposible facer calquera operador linguaxe depuración, non pode depurar un patrón de expresión regular, este proceso só pode imitar. Como regra xeral adoptada versión: obras - non funciona. A sintaxe é moi sinxelo, aínda que a súa percepción, especialmente no inicio, é moi difícil.
Un exemplo dunha expresión simple
Nunha concreción simple, o modelo corresponde a secuencia:
$ CContents = preg_match ( "/ asdf / i", "asdf", $ aresult). ' '. implode ( '', $ aresult).
O resultado será "1; asdf", xa que a función completa a súa operación no primeiro encontro con un modelo correspondente. O resultado será o mesmo, se miramos para a liña "aaaasdf" en liña "zzzasdfvvv". Se se especifica o primeiro e / ou o último carácter, o resultado sería clara:
$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aresult). ' '. implode ( '', $ aresult). '
'
$ CContents. = Preg_match ( "/ asdf $ /", "asdf", $ aresult). ' '. implode ( '', $ aresult). '
'.
O resultado será: 1; asdf1; asdf.
Os símbolos "*" e "$" indica onde comezar eo patrón de finalización. Resultado función preg_match - o número de partidos, pode ser 0, 1, ou falso, de ser detectado un erro. A terceira opción - unha matriz - colocado elemento só atopados. No caso de uso da función preg_match_all () procura continúa a liña de fondo.
$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). ' '. implode ( '', $ aresult). '
'
$ CContents. = Preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). ' '. implode ( '', $ aresult [0]). '
'.
resultado:
1; asdf
3; asdf, asdf, asdf.
Se non usar instrucións especiais, cada personaxe define a si mesmo eo seu lugar, con independencia da codificación liña e codificación modelo. O programador debe asegurar que a codificación destes elementos fose correcta en relación uns ós outros e codificación de páxina.
funcións PHP para traballar con expresións regulares
expresións regulares para PHP representan unha cadea de caracteres gravados nunha determinada maneira. Normalmente, por analoxía con outras linguaxes de programación que están escritos nos símbolos "/" ... "/" e colocar entre comiñas, pode utilizar simple ou dobre, dependendo do algoritmo.
A principal función PHP preg xogo expresións regulares usa tanto correspondencia de patróns e para-lo no primeiro lugar, unha variante cun _all sufixo atopa todos os xogos, e produce a matriz do mesmo. preg función Replace substitúe cada corresponder a un modelo, pode traballar con matrices, permitindo proxecto de investigación e realizar a substitución de unha variedade de opcións.
opcións interesantes para traballar con expresións regulares poden ser desenvolvidos usando a función preg_replace_callback que non ten en texto de substitución, así como o nome da función, que realizará unha tal substitución. Ademais do valor práctico pode aplicar mecanismos comproba o modelo, que o desenvolvemento e depuración do último ten un papel significativo.
Ámbito de expresións regulares
Desde linguas hipertexto son formalizados información en maior medida que son o material de partida. Desenvolveu un gran número de modelos e debuxos que permiten procesar grandes cantidades de datos de forma eficaz. Unha parte significativa deste traballo se realiza mecanismos construídos en varios sistemas de xestión de contidos (CMS).
Non sorprendente, moitos CMS fan a normas de facto para estaleiros de construción, e sendo acompañado polas empresas (actualizado) de software, non fan necesario para levar a cabo o desenvolvemento de estándares por conta propia. Con todo, fóra de tales sistemas teñen experiencia con expresións regulares é moi útil.
expresións regulares ea información real
Unha importante área de aplicación de expresións regulares en bibliotecas PHP formaron a PHPOffice chegada. Traballar con documentos, follas de cálculo, e sempre tivo importante e estándar OOXML é posible non só para desmantelar os documentos reais, senón tamén para dar forma ao seu programa.
Grazas ao desenvolvemento de hipertexto e PHP linguas en particular, hai unha oportunidade real para automatizar a "produción" de documentos "forma estándar", por exemplo, facturas para pagamento, informes, plans de negocio, e outros obxectos de información, a estrutura e os contidos son realmente susceptibles de formalización e automatización.
En conexión coa aplicación para describir o proceso de desenvolvemento da linguaxe OOXML de expresións regulares é moi diferente do tradicional de traballo con linguaxes de marcado HTML e CSS en primeiro lugar. O documento real, excepto marcado e, ademais do contido real ten unha morea de detalles. Por exemplo, un documento que foi creado automaticamente polo programa, terá un contido forte e preciso. Documento formado ou a persoa tratada, terá un contido, foi pintado sobre unha pluralidade de etiquetas. Calquera traballo co documento leva ao feito de que a semántica de que pode ser un, pero pintado en diferentes cantidades en proxectos diferentes.
información natural e situación
Unha persoa sempre interesados na solución do problema, que foi escenario de información e, como resultado, será dada a mesma información. Presentando a manifestación do problema na forma dun documento, a persoa recibe unha semántica específicos, que está na especificación de expertos (alteración, esclarecendo redacción, eliminar, editar) non só leva a varias versións dun documento, pero tamén para as súas versións con contido distinto.
En particular, a tarefa definida pola frase "Resolva uranenie cadrado" tras a edición será coma este: "Para resolver unha ecuación cuadrática". Se a principios do primeiro erro foi corrixido, e despois a segunda, entón a información natural en estilo OOXML pode parecer: "[Resolto] [] [praza] [e] [] [aplausos] [b] [nenie]", pero iso non fai garantir que esta é a tarefa aparecerá na OOXML etiquetas (soportes emular soportes etiquetas).
Para montar a información pode ser facilmente despois de cada tarefa do proceso de edición, pero cada vez que este procedemento realizarase por varios algoritmos. expresións regulares, como unha especie de ferramenta de formalización de problemas de información tornar-se, en efecto, rutas de sendeirismo desde as estruturas formais do hipertexto á información natural.
Similar articles
Trending Now