일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 알고리즘
- Selenium
- 2164 카드2
- 괄호 문제
- 플라스크
- Merge Repositories
- 코랩 런타임
- convert to shp
- 인스타그램
- geopandas
- Crawling
- 혁신성장부문
- clustering
- colab runtime
- geoDataFrame
- 해시태그
- NLP
- 백준
- string to list
- flask
- to shp
- Chat-GPT
- kmeans
- Python
- 셀레니움
- 크롤링
- python buildpacks
- plotly dash
- 파이썬
- 웹페이지
Archives
- Today
- Total
코딩코딩코딩
[MySQL] REGEXP 정규표현식 정리, LIKE IN 같이 사용 본문
SELECT CITY
FROM STATION
WHERE Country LIKE "a%"
OR Country LIKE "e%";
-- Country가 a나 e로 시작하는 것을 조회
SELECT CITY
FROM STATION
WHERE Country REGEXP '^a|^e';
REGEXP 정리
* 코드를 짧게 작성할 수 있지만, 인덱싱을 적용 중이지 않다면 LIKE 보다 속도가 느린 단점이 있음.
1. Matching
기호 | 기능 | 예시 | 설명 |
. | 문자 하나 | "...." | 문자열 4글자 이상인 것 찾음 |
| (수직선) | | 로 구분된 문자열 찾기 | "하나|둘" | "하나" or "둘" 에 해당하는 문자열 찾음 |
[] | [] 안에 나열된 패턴 문자열 찾음 | "[123]셋" | '1셋' or.'2셋' or '3셋' |
^ | 시작하는 문자열 찾음 | '^넷' | '넷'으로 시작되는 문자열 찾음 (넷플릭스, 넷마블) |
$ | 끝나는 문자열 찾음 | '넷$" | '넷'으로 끝나는 문자열 찾음 (인터넷, 이더넷) |
⌾ REGEXP에서 논리연산자 AND를 사용하기 위해서는 필요한 정규표현식 n개를 AND로 이어서 사용해야 함.
SELECT CITY
FROM STATION
WHERE CITY REGEXP "^[aeiou]"
AND CITY REGEXP "[aeiou]$";
-- CITY명의 첫 글자와 마지막 글자에 모음(a,e,i,o,u)가 동시에 포함되는 데이터 조회
2. Numbers Limit
기호 | 기능 | 예시 | 설명 |
* | 0회 이상 나타나는 문자 | "a*" | 'a'가 0번 이상 등장하는 문자열 'a','aa', 'b' |
+ | 1회 이상 나타나는 문자 | '장+' | '장'이 1번 이상 등장하는 문자열 '장', '간장', '간장공장', '장장장' |
문자{m, n} | m회 이상, n회 이하 반복되는 문자 | '장{1, 2}' | '장' 1회 이상, 2회 이하 문자열 '장', '장장', '간장공장' |
? | 0~1회 나타나는문자 | '장?' | '장'이 0~1회 '장', '장장', '간장' |
3. String Group
기호 | 기능 | 예시 | 설명 |
[A-z] or [:alpha:] or \a | 영어 문자열 찾음 | "^[A-z]" | 영어로 시작하는 문자열 찾음 |
[0-9] or [:digit:] or \d | 숫자 문자열 찾음 | "[0-9]+" | 한 개 이상의 숫자가 등장하는 문자열 찾음 |
4. Not
기호 | 기능 | 예시 | 설명 |
[^문자] | [] 안의 문자를 포함하지 않는 문자열 찾음 | '[^장]' | '장'을 포함하지 않는 문자열 찾음 - '간장', '장', '간장공장' 모두 제외됨 |
'MySQL > BasicGrammer' 카테고리의 다른 글
[MySQL] JOIN (INNER, OUTER(LEFT, RIGHT)) 조인 (0) | 2022.02.06 |
---|---|
[MySQL] SUBSTRING(SUBSTR), RIGHT, LEFT, ROUND, CEIL, FLOOR(반올림, 올림, 내림) (0) | 2022.01.11 |
[MySQL] LIKE, IN, BETWEEN, IS NULL 연산자 (0) | 2022.01.08 |
[MySQL] 비교연산자, 논리연산자 (0) | 2022.01.05 |
Comments