Directorio de artículos
base de datos mysql¿Cómo coincide la expresión regular?MySQL uso de expresiones regulares
expresiones regulares mysql
En los capítulos anteriores hemos visto que MySQL puede ser ME GUSTA...% para coincidencias aproximadas.
MySQL también admite la coincidencia de otras expresiones regulares.El operador REGEXP se usa en MySQL para la coincidencia de expresiones regulares.
Si conoce PHP o Perl, es bastante sencillo, ya que la comparación de expresiones regulares de MySQL es similar a la de estos scripts.
Los patrones regulares de la siguiente tabla se pueden aplicar al operador REGEXP.
El modo | 描述 |
---|---|
^ | Coincide con el comienzo de la cadena de entrada.^ también coincide con la posición después de '\n' o '\r' si se establece la propiedad Multiline del objeto RegExp. |
$ | Coincide con el final de la cadena de entrada.Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición anterior a '\n' o '\r'. |
. | Coincide con cualquier carácter individual excepto "\n".Para hacer coincidir cualquier carácter, incluido '\n', use un patrón como '[.\n]'. |
[...] | colección de personajes.Coincide con cualquiera de los caracteres contenidos.Por ejemplo, '[abc]' coincidiría con "plai'a' en n". |
[^…] | Conjunto de caracteres negativos.Coincide con cualquier carácter no contenido.Por ejemplo, '[^abc]' coincidiría con 'p' en "simple". |
p1|p2|p3 | Coincide con p1 o p2 o p3.Por ejemplo, 'z|comida' coincidiría con "z" o "comida". '(z|f)ood' coincide con "zood" o "comida". |
* | Coincide con la subexpresión anterior cero o más veces.Por ejemplo, zo* coincidiría tanto con "z" como con "zoo". * es equivalente a {0,}. |
+ | Coincide con la subexpresión anterior una o más veces.Por ejemplo, 'zo+' coincidiría con "zo" y "zoo", pero no con "z". + es equivalente a {1,}. |
{norte} | n es un entero no negativo.Coincide exactamente n veces.Por ejemplo, 'o{2}' no coincidiría con la 'o' de "Bob", pero coincidiría con las dos o de "comida". |
{Nuevo Méjico} | Tanto m como n son números enteros no negativos, donde n <= m.Coincide al menos n veces y como máximo m veces. |
Ejemplo
Después de comprender los requisitos regulares anteriores, podemos escribir declaraciones SQL con expresiones regulares de acuerdo con nuestros propios requisitos.A continuación, enumeraremos algunos pequeños ejemplos (nombre de la tabla: person_tbl) para profundizar nuestra comprensión:
Encuentre todos los datos que comienzan con 'st' en el campo de nombre:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Encuentre todos los datos que terminan con 'ok' en el campo de nombre:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Encuentre todos los datos que contengan la cadena 'mar' en el campo de nombre:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Encuentre todos los datos en el campo de nombre que comiencen con un carácter de vocal o terminen con la cadena 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Esperanza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartió "¿Cómo hacer coincidir expresiones regulares en la base de datos MySQL? MySQL regexp like use" te ayudará.
Bienvenido a compartir el enlace de este artículo:https://www.chenweiliang.com/cwl-492.html
¡Bienvenido al canal de Telegram del blog de Chen Weiliang para obtener las últimas actualizaciones!
📚 Esta guía contiene un gran valor. 🌟Esta es una oportunidad única, ¡no la pierdas! ⏰⌛💨
¡Comparte y dale me gusta si te gusta!
¡Su compartir y Me gusta son nuestra motivación continua!