Directorio de artigos
Base de datos MySQLComo coincide a expresión regular?MySQL uso como expresión regular
Expresións regulares de MySQL
Nos capítulos anteriores aprendemos que MySQL pode ser Gústame...% para a correspondencia difusa.
MySQL tamén admite a coincidencia doutras expresións regulares. O operador REGEXP úsase en MySQL para a correspondencia de expresións regulares.
Se coñeces PHP ou Perl, é bastante sinxelo, xa que a coincidencia de expresións regulares de MySQL é semellante ás destes scripts.
Os patróns regulares da seguinte táboa pódense aplicar ao operador REGEXP.
Modo | descrición |
---|---|
^ | Coincide co comezo da cadea de entrada.^ tamén coincide coa posición despois de '\n' ou '\r' se se establece a propiedade Multiline do obxecto RegExp. |
$ | Coincide co final da cadea de entrada.Se se define a propiedade Multiline do obxecto RegExp, $ tamén coincide coa posición anterior a '\n' ou '\r'. |
. | Coincide con calquera carácter, excepto "\n".Para facer coincidir calquera carácter incluído "\n", utiliza un patrón como "[.\n]". |
[...] | colección de personaxes.Coincide con calquera dos personaxes contidos.Por exemplo, "[abc]" coincidiría con "plai'a' en n". |
[^…] | Conxunto de caracteres negativos.Coincide con calquera carácter non contido.Por exemplo, '[^abc]' coincidiría con 'p' en "sencillo". |
p1|p2|p3 | Coincide p1 ou p2 ou p3.Por exemplo, "z|food" coincidiría con "z" ou "food". '(z|f)ood' coincide con "zood" ou "comida". |
* | Coincide cero ou máis veces coa subexpresión anterior.Por exemplo, zo* coincidiría con "z" e con "zoo". * é equivalente a {0,}. |
+ | Coincide coa subexpresión anterior unha ou máis veces.Por exemplo, "zo+" coincidiría con "zo" e "zoo", pero non con "z". + é equivalente a {1,}. |
{n} | n é un número enteiro non negativo.Coincide exactamente n veces.Por exemplo, 'o{2}' non coincidiría coa 'o' en "Bob", pero coincidiría coas dúas o en "comida". |
{n,m} | Tanto m como n son enteiros non negativos, onde n <= m.Coincide polo menos n veces e como máximo m veces. |
exemplo
Despois de comprender os requisitos habituais anteriores, podemos escribir instrucións SQL con expresións regulares segundo os nosos propios requisitos.A continuación enumeraremos algúns pequenos exemplos (nome da táboa: person_tbl ) para afondar na nosa comprensión:
Busca todos os datos que comezan por 'st' no campo do nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Busca todos os datos que rematen con "ok" no campo do nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Busca todos os datos que conteñan a cadea "mar" no campo do nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Busca todos os datos no campo de nome que comezan cun carácter vocálico ou rematan coa cadea 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartiu "Como facer coincidir as expresións regulares da base de datos MySQL? MySQL regexp like usage" axudarache.
Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-492.html
Benvido á canle de Telegram do blog de Chen Weiliang para recibir as últimas actualizacións.
📚 Esta guía contén un gran valor, 🌟Esta é unha oportunidade rara, non a perdas! ⏰⌛💨
Comparte e da like se che gusta!
O teu compartir e gústame son a nosa motivación continua!