Como as expressões regulares do banco de dados MySQL correspondem? MySQL regexp como uso

banco de dados MySQLComo a expressão regular corresponde?MySQL regexp como uso

Expressões regulares do MySQL

Nos capítulos anteriores aprendemos que o MySQL pode ser CURTI...% para correspondência difusa.

O MySQL também suporta a correspondência de outras expressões regulares.O operador REGEXP é usado no MySQL para correspondência de expressões regulares.

Se você conhece PHP ou Perl, é bastante simples, pois a correspondência de expressões regulares do MySQL é semelhante àquelas desses scripts.

Os padrões regulares na tabela a seguir podem ser aplicados ao operador REGEXP.

Mode描述
^Corresponde ao início da string de entrada.^ também corresponde à posição após '\n' ou '\r' se a propriedade Multiline do objeto RegExp estiver definida.
$Corresponde ao final da string de entrada.Se a propriedade Multiline do objeto RegExp for definida, $ também corresponderá à posição antes de '\n' ou '\r'.
.Corresponde a qualquer caractere único, exceto "\n".Para corresponder a qualquer caractere, incluindo '\n', use um padrão como '[.\n]'.
[...]coleção de personagens.Corresponde a qualquer um dos caracteres contidos.Por exemplo, '[abc]' corresponderia a "plai'a' em n".
[^…]Conjunto de caracteres negativos.Corresponde a qualquer caractere não contido.Por exemplo, '[^abc]' corresponderia a 'p' em "simples".
p1|p2|p3Corresponde a p1 ou p2 ou p3.Por exemplo, 'z|food' corresponderia a "z" ou "food". '(z|f)ood' corresponde a "zood" ou "food".
*Corresponde à subexpressão anterior zero ou mais vezes.Por exemplo, zo* corresponderia tanto a "z" quanto a "zoo". * é equivalente a {0,}.
+Corresponde à subexpressão anterior uma ou mais vezes.Por exemplo, 'zo+' corresponderia a "zo" e "zoo", mas não a "z". + é equivalente a {1,}.
{não}n é um número inteiro não negativo.Corresponde exatamente n vezes.Por exemplo, 'o{2}' não corresponderia ao 'o' em "Bob", mas corresponderia a ambos os o's em "comida".
{n, m}Ambos m e n são inteiros não negativos, onde n <= m.Corresponde pelo menos n vezes e no máximo m vezes.

Instância

Depois de entender os requisitos regulares acima, podemos escrever instruções SQL com expressões regulares de acordo com nossos próprios requisitos.Abaixo listaremos alguns pequenos exemplos (nome da tabela: person_tbl ) para aprofundar nosso entendimento:

Encontre todos os dados começando com 'st' no campo de nome:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

Encontre todos os dados que terminam com 'ok' no campo de nome:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

Encontre todos os dados contendo a string 'mar' no campo de nome:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

Encontre todos os dados no campo de nome que começam com um caractere de vogal ou terminam com a string 'ok':

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartilhado "Como combinar expressões regulares do banco de dados MySQL? MySQL regexp like usage" irá ajudá-lo.

Bem-vindo a compartilhar o link deste artigo:https://www.chenweiliang.com/cwl-492.html

Bem-vindo ao canal Telegram do blog de Chen Weiliang para receber as últimas atualizações!

🔔 Seja o primeiro a obter o valioso "Guia de uso da ferramenta de IA de marketing de conteúdo ChatGPT" no diretório superior do canal! 🌟
📚 Este guia contém um valor enorme, 🌟Esta é uma oportunidade rara, não perca! ⏰⌛💨
Compartilhe e curta se gostar!
Seus compartilhamentos e curtidas são nossa motivação contínua!

 

发表 评论

Seu endereço de e-mail não será publicado. 必填 项 已 用 * 标注

滚动 到 顶部