MySQL регулярные выражения

11.02.2018

mySql поддерживает регулярные выражения и в этой заметке приведу несколько примеров.

^ - Соответствие началу строки.

 
SELECT "fo\nfo" REGEXP "^fo$"; --:
SELECT "fofo" REGEXP "^fo"; --: 1 

$ - Соответствие концу строки.

 
SELECT "fo\no" REGEXP "^fo\no$"; --: 1  
SELECT "fo\no" REGEXP "^fo$";  --: 0  

- Соответствие любому символу (включая перевод строки).

 
SELECT "fofo" REGEXP "^f.*"; 	--: 1 
SELECT "fo\nfo" REGEXP "^f.*"; --: 1

a* - Соответствие любой последовательности из нуля или более символов "a".

 
SELECT "Ban" REGEXP "^Ba*n"; --: 1
SELECT "Baaan" REGEXP "^Ba*n"; 	--: 1
SELECT "Bn" REGEXP "^Ba*n"; --: 1

a+ - Соответствие любой последовательности из одного или более символов "a "

 
SELECT "Ban" REGEXP "^Ba+n"; --: 1 
SELECT "Bn" REGEXP "^Ba+n"; --: 0  

a? - Соответствие как нулю, так и одному символу "a".

 
SELECT "Bn" REGEXP "^Ba?n"; --: 1  
SELECT "Ban" REGEXP "^Ba?n"; --: 1  
SELECT "Baan" REGEXP "^Ba?n"; --: 0

de|abc - Соответствие как последовательности de, так и последовательности abc.

 
SELECT "pi" REGEXP "pi|apa"; --: 1  
SELECT "axe" REGEXP "pi|apa"; --:0  
SELECT "apa" REGEXP "pi|apa"; --: 1  
SELECT "apa" REGEXP "^(pi|apa)$"; --: 1 
SELECT "pi" REGEXP "^(pi|apa)$"; --: 1  
SELECT "pix" REGEXP "^(pi|apa)$"; --: 0  


Категории: SQL
Яндекс.Метрика