반응형
정규식을 잘 사용하면 SQL과 각 종 프로그램의 연산속도를 감소시키며 프로그램을 단순화 시킬 수 있습니다.
시간이 걸리더라도 한번씩 사용해보면 좋습니다.
| . | 하나의 문자를 의미합니다. ".*"하면 한개이상의 문자 즉 모든 문자를 의미합니다. |
| $ | 끝을 의미한다. AAA$ 하면 AAA로 끝나는 것을 의미한다. |
| \ | 특수 문자를 문자로 인식할때 사용합니다. |
| ¦ | 여러 식 중에서 하나를 선택합니다. SQL의 OR조건과 같습니다. "abc¦adc"는 abc와 adc 문자열을 모두 포함한다. |
| ^ | 문자 클래스 안의 문자를 제외한 나머지를 선택한다. 예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않습니다. [^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다. |
| [] | "["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다. |
| () | 여러 식을 하나로 묶을 수 있다. "abc¦adc"와 "a(b¦d)c"는 같은 의미를 가진다. |
| * | 0개 이상의 문자를 포함한다. "a*b"는 "b", "ab", "aab", "aaab"를 포함한다. |
| + | "a+b"는 "ab", "aab", "aaab"를 포함하지만 "b"는 포함하지 않는다. [+ 앞 내용 기준] |
| ? | "a?b"는 "b", "ab"를 포함한다. [? 다음 내용 기준] |
| {m} | "a{3}b"는 "aaab"만 포함한다. |
| {m,} | "a{2,}b"는 "aab", "aaab", "aaaab"를 포함한다. "ab"는 포함되지 않는다. |
| {m, n} | "a{1,3}b"는 "ab", "aab", "aaab"를 포함하지만, "b"나 "aaaab"는 포함하지 않는다 |
| \n | 1에서 9까지의 숫자를 의미 |
| \d | Matches a digit character. |
| \D | Matches a nondigit character. |
| \w | Matches a word character. |
| \W | Matches a nonword character. |
| \s | Matches a whitespace character. |
| \S | matches a non-whitespace character. |
자주 사용하는 Class Syntex는 아래와 같습니다.
| [:alnum:] | 영어와 숫자 |
| [:alpha:] | 알파벳, [A-Za-z] |
| [:blank:] | 공백과 탭 |
| [:digit:] | 숫자 |
| [:lower:] | 소문자, [a-z] |
| [:punct:] | 특수문자 |
| [:space:] | 공백(스페이스) |
| [:upper:] | 대문자, [A-Z] |
| [가-힣] | 한글전체 |
자주 사용하는 응용편
1. "["와 "]" 사이에 문자를 공백 처리하기, 괄호의 정의를 정하고 사이의 내용을 제거하면 됩니다.
regexp_replace(s, "\\[.*\\]", "")
2. 숫자와 문자를 제외하고 모두 제거
regexp_replace(nm, '[^A-Z0-9 ]', '')
3. 공백이 2개 이상인 부분을 제거
REGEXP_REPLACE('Kontext is a website for data engineers.','[\s]{2,}', '')
4. 끝에 문자가 _(으로 시작하고)_(으로 사작하지 않는) 문자로 끝나는 것
regexp_replace('The_quick brown fox jumped over the_fence', '_[^_]*$','')
반응형
'IT Tech & Knowledge' 카테고리의 다른 글
| ChatGPT API 연동 티스토리 자동글쓰기 포스팅 해보기 (2/2) (0) | 2023.03.05 |
|---|---|
| ChatGPT API 연동 티스토리 자동글쓰기 포스팅 해보기 (1/2) : 프로그램 포함 (0) | 2023.03.05 |
| SQL Query 연습을 위한 기본 준비 (0) | 2023.01.17 |
| 원격제어 프로그램 PARSEC 파섹 셋팅하기 : 언제나 원격제어 가능 (0) | 2022.10.08 |
| 구글코랩 - 구글의 클라우드에서 GPU를 무료로 사용하는 분석 (0) | 2021.04.12 |
| GeForce RTX 3080을 이용한 TensorFlow and NAMD 수행능력 (0) | 2020.10.13 |
| 깃허브 (GitHub) 사용법 (0) | 2020.10.11 |
| GIT 설치하기 : 윈도우에서 바로 설치하기 (0) | 2020.10.10 |