*   >> Lectura Educación Artículos >> science >> programación

Mysql expresiones regulares Patrón Constructs

MySQL expresiones regulares - Parte 3Introduction Esto es parte de mi serie 3, MySQL expresiones regulares. Supongo que usted ha leído la parte anterior de la serie. Esta es la continuación. En esta parte de la serie observamos MySQL Expresiones Regulares Las construcciones del patrón. En la parte anterior de la serie, vimos unos cuantos patrón simple construye. Aquí, vamos a mirar la tabla de patrones constructs.

Database más elaborada para la Ilustración Usaremos la siguiente tabla de base de datos llamada admiten, por ejemplo: | Nombre | particular | especies | sexo | nacimiento | muerte | + -------- + -------- + --------- + ------ + ------------ + - ----------- + | Buffy | Harold | perro | f | 05/13/1999 | NULL | | Bowser | Diane | perro | m | 08/31/1999 | 2005-07-29 | | Fluffy | Harold Taylor | cat | f | 02/04/2003 | NULL | | Timtim | Gwen Jones | cat | m | 03/17/2004 | NULL | | Whistler | Gwin | bir5d | NULL | 2007-12-09 | NULL | Los datos de esta tabla es ligeramente diferente de la que en la tabla de la parte anterior de la serie.

Usted debe estar probando las sentencias SELECT que figuran a continuación con este table.The (abc) Construir Aquí, (abc) significa simplemente uno, dos, tres, cuatro, cinco, etc. caracteres entre paréntesis. En un patrón, paréntesis caracteres de grupo en un conjunto. El conjunto de caracteres en el patrón se comporta como un único carácter y los caracteres especiales que vimos en la parte anterior de la serie, se puede aplicar en ellos como si fueran un solo carácter. Por ejemplo, usted puede tener algo así como: (ab) +, (abc) *, (abcd) ?, etc.

La siguiente sentencia SELECT devuelve la cuarta fila de la tabla anterior, coincidiendo con el cuarto valor de la celda, "Timtim" del primera columna: SELECT * FROM mascotas donde nombre RLIKE "(tim) +"; El patrón es, "(tim) +". El patrón coincide con uno o más (tim) en un solo tema. El tema corresponde, es decir, "Timtim"; hay dos (tim) en el tema. Si el patrón fuera "(tim) *", todos los valores de las celdas de la primera columna habría igualado, porque, * significa cero o más (mientras que + significa uno o más) .

El [[::]] Construye Palabras es una secuencia de caracteres de palabra que no está precedido o seguido por caracteres de palabra. Un carácter de palabra es un carácter alfanumérico o un carácter de subrayado, _. Ejemplos de caracteres de palabra son: 'a', 'b', 'c', '1', '2', '3', etc. el marcador, [[::]] en un patrón coincide con el final de una palabra . Estas construcciones son marcadores de límite de palabra. No son personajes; que son identificadores de contorno.

La siguiente sentencia SELECT devuelve la cuarta fila de la tabla anterior, igualando "Gwen" en el asunto, "Gwen Jones" de la cuarta celda de la segunda columna: SELECT * FROM mascotas donde el propietario RLIKE "Gwen [[:>:]] "; El patrón es, "Gwen [[:>:]]". Comienza con la palabra, "Gwen", seguido por el final de la palabra marcador, [[:>:]]. Por lo tanto, coincide con "Gwen" y su final en el tema, "Gwen Jones". En el tema, después de la palabra, "Gwen", tiene un límite de palabra antes de que el carácter de espacio.

El [[: Tenga en cuenta que cada marcador-límite de la palabra tiene dos pares de corchetes opuestos, dos signos de dos puntos y un character.The [a-dX] y [^ a-dX] Construye El carácter especial de punto coincide con cualquier carácter individual. ¿Qué pasa con el caso en el que desea hacer coincidir un solo carácter de un conjunto de caracteres? Considere las palabras, "Gwen", "Gwin", "Gwan" y "Gw4n". Las palabras se diferencian en el carácter en la tercera posición.

La primera palabra tiene 'e' en la tercera posición; la segunda palabra tiene "i" en la tercera posición; la tercera palabra tiene 'a' en la tercera posición; y la cuarta palabra tiene '4' en la tercera posición. Así que usted puede estar interesado para que coincida con los personajes, 'e', ​​'i', 'a' y '4'. Esto significa que usted quiere para que coincida con uno de los personajes de la serie, [eia4]. El patrón para este caso es "[eia4]", lo que se correspondería con un solo carácter en una posición en un tema que es, 'e' o 'i' o 'a' o '4'.

La sentencia SELECT siguiente volverá la cuarta y quinta filas de la tabla anterior, igualando "Gwen Jones" en el cuarto celular y "Gwin" en el quinto celular, todo en la segunda columna. SELECT * desde admiten donde el propietario RLIKE "Gw [eia4] n"; El patrón en la declaración es "Gw [eia4] n". Los temas son "Gwen Jones" y "Gwin". La palabra que participan en los sujetos, es "Gwen" para "Gwen Jones" y "Gwin" para "Gwin". "Gwen" y "Gwin" difieren en la tercera posición de los personajes. Así, en el tema ", Gwen Jones", "e" en "Gwen" es igualada y en el tema, "Gwin", "i" se empareja.

'e' y 'i' están en la tercera posición de las palabras, "Gwen" y "Gwin" respectivamente. En el patrón, "Gw [eia4] n", [eia4] se encuentra en la tercera posición. Nota: [eia4] y (eia4) significa diferentes cosas. [eia4] 'e' medios o 'i' o 'a' o '4'; while (eia4) significa tratar el conjunto de caracteres, "eia4", como una sola character.Ranges [eia4] de arriba es un ejemplo de una clase. ¿Qué pasa con el caso, en el que desea un partido de la clase, [abcde]? Tenga en cuenta que esto es una serie de caracteres del alfabeto de 'a' a la 'e'. [abcde] está mejor escrito como, [a-e].

Observe el uso del guión. Puede combinar una gama de personajes individuales. Por ejemplo, [a-dX] significa "a" o "b" o "c" o "d" o "X", es decir, el anuncio gama y X. También pueden tener un rango con dígitos, por ejemplo, [0-5], [3-9], [0-9] Negando la Clase Si usted desea hacer coincidir un carácter en una posición en el tema, excepto los de la clase, entonces deberías usar el símbolo ^. Por lo tanto, si usted desea hacer coincidir cualquier carácter excepto los de [a-dX], escriba [^ a-dX] en el patrón. Observe el uso y la posición del ^ en la construcción de la clase.

La sentencia SELECT siguiente volverá la primera y segunda filas, a juego, "perro" en la primera y segunda celdas de la tercera de colon: SELECT * from Mascotas donde las especies RLIKE "d [^ an] g"; El patrón en la declaración es "d [^ an] g", que significa que ningún personaje de la gama, una, debe corresponder a la posición en cuestión. El patrón emparejado, comienza con 'd', seguido por un carácter que no está en el rango, una, y luego seguido por 'g'. 'o' no está en la gama, por lo que "perro" es Clases de caracteres matched.Formal Algunas clases son tan importantes que tienen nombres.

La siguiente lista da los nombres de estas clases y sus descripciones: Nombre: Descripción alnum: alfanumérico caracteres alfa: Caracteres alfabéticos en blanco: espacios en blanco CNTRL: Los caracteres de control dígitos: personajes Digit gráfico: caracteres gráficos inferiores: Minúsculas caracteres alfabéticos impresión: Gráfico o espacio personajes punct: Los caracteres de puntuación espacio: El espacio, tabulación, nueva línea y retorno de carro superior: caracteres alfabéticos en mayúsculas xdigit: caracteres hexadecimales dígitos para usar cualquiera de estas clases, se utiliza el constructo marcador, [[: nombre:]].

La siguiente sentencia SELECT devolverá la última fila en el juego de mesa "bir5d" para el dígito, 5, en la quinta celda de la tercera columna: SELECT * from Mascotas donde las especies RLIKE "bir [[: dígito:]] d"; El patrón es, "bir [[: dígito:]] d". Así que el tema "bir5d", que tiene el dígito, 5, en la cuarta posición está igualada. [[: dígito:]] se encuentra en la cuarta posición del patrón, "bir [[: dígito:]] d" .Los x {m}, {x m,} y {x m, n} Construye Let my n ser enteros (números enteros). x {m} en un patrón coincide exactamente m casos consecutivos de x.

x {m,} coincide al menos m casos consecutivos de x. x {m, n} coincide entre myn casos consecutivos de x. Ahora veremos algunos ejemplos. El patrón, "fe {1} d", coincide con el tema "alimentados", donde "e" se corresponde exactamente una vez. El patrón, "fe {1,} d", coincide con el tema, "alimentados" y el tema "feed", donde "e" se corresponde al menos una vez. El patrón, "fe {1,2} d", coincide con el tema, "alimentados" y el tema "feed", donde "e" se corresponde al menos una hora y un máximo de 2 veces.

Los constructos no sólo se utilizan para un personaje; también pueden ser utilizados para un átomo (pieza del patrón). Así, el patrón, "un [BCD] {3} e" coincide con el tema, "abcde". El patrón ", una [BCD] {3,} e" coincide con el tema, "abcde". El patrón ", una [BCD] {1,10} e" coincide con el tema, "abcde". El átomo es [BCD]. Ahora, [BCD] significa "b" o "c" o "d". Así que el patrón secundario, "[BCD] {3)", significa "bbb" o "CCC" o "ddd" o "BCB" o "CBC" o "DCD" o "bdb" o "CDC" o "DBD" . El patrón sub [BCD] {3,} significa una combinación de al menos alguno de los tres personajes.

El patrón secundario, [BCD] {1,10}, significa al menos un carácter de los tres personajes, hasta una combinación de 10 personajes de los 3 personajes characters.White espacio en blanco caracteres literales espacio son: 'b', 't ',' n ',' v ',' f 'y' r '. Los nombres de estos literales son, respectivamente, de retroceso, tabuladores, nuevas líneas-pestaña vertical, la forma de alimentación y retorno de carro. Puede utilizar los caracteres literales de espacio en blanco, situado en el patrón.

Suponga que usted había la fila siguiente agregado a la tabla: | León | Peter | finsh | f | 2008-12-09 | NULL | La célula de especies tiene el valor "finsh", con el carácter de nueva línea, "n". La siguiente sentencia SELECT devolverá la fila, que coincida con el tema, "finsh". SELECT * desde admiten donde las especies RLIKE "finsh"; El patrón es "finsh". También puede utilizar el nombre del carácter de espacio en blanco, pero en este caso, usted tendrá que colocarlo en el marcador, [[.name.]]. La siguiente sentencia SELECT devuelve la fila añadida, que coincida con el tema, "finsh".

SELECT * desde admiten donde las especies RLIKE "fi sh [[nueva línea]..]"; El patrón es, "fi [[. De nueva línea.]] Sh". Puede utilizar el literal en el marcador. La siguiente sentencia SELECT devuelve la fila añadida, que coincida con el tema, "finsh". SELECT * desde admiten donde las especies RLIKE "fi sh [[n]..]"; El patrón es, "fi [[. N.]] Sh" El marcador tiene dos pares de corchetes opuestos y dos dots.The MySQL Regular Expressions Metacaracteres Un metacarácter es un carácter utilizado para controlar o definir otros caracteres.

En el caso de los patrones, los MySQL Expresiones Regulares metacaracteres son: ^ $. * +? | * {} []: =>

Page   <<       [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.