[데이터베이스/SQL] 정규식(REGEXP)

JuseungL·2023년 12월 28일
0

DB/SQL

목록 보기
3/9
post-thumbnail

Regular Experssion(정규 표현식)

^: 특정 문자로 시작하는 패턴
ex) ^abc는 문자열이 "abc"로 시작하는지 확인

$: 특정 문자로 끝나는 패턴
ex) xyz$는 문자열이 "xyz"로 끝나는지 확인

\d: 모든 숫자
ex) \d는 0부터 9까지의 모든 숫자와 일치

\D: 모든 숫자가 아닌 문자
ex) \D는 숫자가 아닌 모든 문자와 일치

\w: 모든 알파벳 및 숫자
ex) \w+는 하나 이상의 알파벳 또는 숫자와 일치

\W : 모든 비알파벳 및 숫자
ex) \W는 알파벳이나 숫자가 아닌 문자와 일치

\s: 모든 공백 문자
ex) \s+는 하나 이상의 공백 문자와 일치합니다.

\S: 모든 비공백 문자
ex) \S+는 하나 이상의 비공백 문자와 일치합니다.

.: 임의의 문자(.의 갯수만큼의 문자)
ex) a.b는 "a", 그 뒤에 어떤 문자든 하나, 그리고 "b"가 나오는 패턴을 의미

\.: 마침표
ex) www\.example\.com은 "www.example.com"에 일치합니다.

[abc] : 특정 집합(abc)에 속하는 문자열
ex) [aeiou]는 모음(a, e, i, o, u) 중 하나와 일치

{n}: 해당 패턴이 n회 반복
ex) a{3}는 "aaa"에 일치 또한 a{3,}은 3개 이상의 a와 일치

{n, m}: 해당 패턴이 n회 이상, m회 이하 등장
ex) b{2,4}는 "bb", "bbb", "bbbb"에 일치

[^abc]: 특정 집합(abc)에 속하지 않는 문자열
ex) [^0-9]는 숫자가 아닌 모든 문자와 일치

*: 패턴이 0번 이상 반복
ex) ab*c는 "ac", "abc", "abbc", 등과 일치

+: 패턴이 1번 이상 반복
ex) xy+z는 "xyz", "xyyz", "xyyyz", 등과 일치

?: 선택적 문자
ex) colou?r는 "color" 또는 "colour"에 일치

| : OR을 의미
ex) cat|dog는 "cat" 또는 "dog"에 일치

(…): 캡처 그룹
ex) (\d{3})-(\d{4})는 전화번호 형식에서 첫 번째 그룹은 국가 코드이고, 두 번째 그룹은 지역 코드

(.*): 모든 것 캡처
ex) (.*)@(.*)는 이메일 주소에서 사용자 이름과 도메인을 각각 첫 번째와 두 번째 그룹으로 캡처

(?!()):부정적 전방 탐색으로 괄호 안의 패턴이 문자열에 포함되지 않아야 매칭되는 패턴
ex) ^(?!.*[a-z])[A-Z]+$문자열 안에 어디든지 소문자가 존재하면 안되고 대문자로 구성되어야함. 또 다른 예시로 ^(?!.*(apple|banana))[a-zA-Z]+$를 보면 apple또는 banana가 문자열에 포함되어있으면 안됨.

이때 []안은 문자열에서 하나의 문자와 대응되고 ()안에는 문자열 전체와 대응

profile
기록

0개의 댓글