아직 강의 등을 통해 공식적으로 배우지 않아서 최대한 피하고 싶었지만, 해커랭크 Weather Observation 문제를 내리 풀다 결국 검색하고 말았다. 몇 개 알게 된 사실을 기록해둔다.
메타 문자열 | 행동
---------+-----------------------------------
^ | 검색된 문자열의 시작 위치와 일치
$ | 검색된 문자열의 끝 위치와 일치
. | 단일 문자와 일치
[…] | 대괄호 안에 지정된 모든 문자와 일치
[^…] | 대괄호 안에 지정되지 않은 모든 문자와 일치
p1 | p2 | p1 또는 p2 패턴과 일치
* | 앞의 문자와 0 번 이상 일치
+ | 선행 문자를 한 번 이상 일치
{n} | n개의 이전 문자 인스턴스와 일치
{m, n} | 이전 문자의 인스턴스 수 m에서 n까지 일치
예시 - 해커랭크 Weather Observation Station 9
SELECT DISTINCT city
FROM station
WHERE city NOT REGEXP '^[aeiou]'
위 쿼리를 통해 a,(또는) e, i, o, u로 시작하지 않는 문자열만 나타나게 된다.
더 알아보기
1. https://www.mysqltutorial.org/mysql-regular-expression-regexp.aspx/
2. https://www.geeksforgeeks.org/mysql-regular-expressions-regexp/