mysql
MYSQL - 정규표현식 REGEXP
pat 패턴에 대한 문자열 expr 패턴 매치를 수행하며, 매치하면 1를, 그렇지 않으면 0을 반환합니다. expr 또는 pat 의 값이 NULL이면 NULL를 반환하고, 바이너리 문자열을 사용할 때에만 대소문자를 구분하게 됩니다.
좀더 많은 자료가 필요하다면 http://www.regexlib.com/ 에서 구할 수 있습니다.
expr REGEXP pat
or
expr RLIKE pat
#ex.1)
mysql> SELECT 'a' REGEXP 'A';
-> 1
mysql> SELECT 'a' REGEXP BINARY 'A';
-> 0
mysql> SELECT 'A' REGEXP BINARY 'A';
-> 1
#ex.2)
mysql> SELECT 'a' REGEXP '^[a-z]';
-> 1
mysql> SELECT '1' REGEXP '^[a-z]';
-> 0
#ex.3)
mysql> SELECT 'a' REGEXP '.*';
-> 1
mysql> SELECT 'a' REGEXP 'm%y%%';
-> 0
#ex.4)
mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
-> 1
^ 문자열의 시작
mysql> SELECT 'fo\nfo' REGEXP '^fo$';
-> 0
mysql> SELECT 'fofo' REGEXP '^fo';
-> 1
$ 문자열의 끝
mysql> SELECT 'fo\no' REGEXP '^fo\no$';
-> 1
mysql> SELECT 'fo\no' REGEXP '^fo$';
-> 0
* 모든 문자열
mysql> SELECT 'fofo' REGEXP '^f.*$';
-> 1
mysql> SELECT 'fo\r\nfo' REGEXP '^f.*$';
-> 1
a* 0개 이상의 문자열, a{0,}
mysql> SELECT 'Ban' REGEXP '^Ba*n';
-> 1
mysql> SELECT 'Baaan' REGEXP '^Ba*n';
-> 1
mysql> SELECT 'Bn' REGEXP '^Ba*n';
-> 1
a+ 1개 이상의 문자열, a{1,}
mysql> SELECT 'Ban' REGEXP '^Ba+n';
-> 1
mysql> SELECT 'Bn' REGEXP '^Ba+n';
-> 0
a? 0 또는 1개 포함하는 문자열, a{0,1}
mysql> SELECT 'Bn' REGEXP '^Ba?n';
-> 1
mysql> SELECT 'Ban' REGEXP '^Ba?n';
-> 1
mysql> SELECT 'Baan' REGEXP '^Ba?n';
-> 0
시퀸스 또는 ABC 중 하나와 일치하는 문자열
mysql> SELECT 'pi' REGEXP 'pi|apa';
-> 1
mysql> SELECT 'axe' REGEXP 'pi|apa';
-> 0
mysql> SELECT 'apa' REGEXP 'pi|apa';
-> 1
mysql> SELECT 'apa' REGEXP '^(pi|apa)$';
-> 1
mysql> SELECT 'pi' REGEXP '^(pi|apa)$';
-> 1
mysql> SELECT 'pix' REGEXP '^(pi|apa)$';
-> 0
ABC 인스턴스가 0개 이상 일치하는 문자열
mysql> SELECT 'pi' REGEXP '^(pi)*$';
-> 1
mysql> SELECT 'pip' REGEXP '^(pi)*$';
-> 0
mysql> SELECT 'pipi' REGEXP '^(pi)*$';
-> 1
#ex.5)
mysql> SELECT 'abcde' REGEXP 'a[bcd]{2}e';
-> 0
mysql> SELECT 'abcde' REGEXP 'a[bcd]{3}e';
-> 1
mysql> SELECT 'abcde' REGEXP 'a[bcd]{1,10}e';
-> 1
mysql> SELECT 'aXbc' REGEXP '[a-dXYZ]';
-> 1
mysql> SELECT 'aXbc' REGEXP '^[a-dXYZ]$';
-> 0
mysql> SELECT 'aXbc' REGEXP '^[a-dXYZ]+$';
-> 1
mysql> SELECT 'aXbc' REGEXP '^[^a-dXYZ]+$';
-> 0
mysql> SELECT 'gheis' REGEXP '^[^a-dXYZ]+$';
-> 1
mysql> SELECT 'gheisa' REGEXP '^[^a-dXYZ]+$';
-> 0
좀더 많은 자료가 필요하다면 http://www.regexlib.com/ 에서 구할 수 있습니다.
0 댓글