정규식
1. 정규 표현식
문자열에서 특정한 규칙에 따른 문자열 집합을 표현하기 위해 사용되는 형식 언어
2. Groups and ranges
기호 | 설명 |
| | 또는 |
() | 그룹화 |
[] | 문자셋, 괄호안의 어떤 문자든 |
[^] | 부정 문자셋, 괄호안에 어떤 문자가 아닐때 |
(?:) | 찾지만 기억하지는 않음 |
2-1. 또는 |
Hi 또는 Hello에 매칭되는 것을 하이라이트
2-2. 그룹화 ()
1) 그룹 사용하기 ()
Hi 또는 Hello에 매칭되는 것을 그룹화 현재 그룹은 1가지만 존재
2) 그룹 여러 개 사용하기 ()()
Hi 또는 Hello에 매칭되는 것을 그룹 1로 지정, And와 매칭되는 것을 그룹 2로 지정
3) 그룹 활용()
gr로 시작하고 y로 끝나면서 e 또는 a를 가지고 있는 문자
4) 그룹화 미적용 (?:)
gr로 시작하고 y로 끝나면서 e 또는 a를 가지고 있는 문자를 찾지만 그룹화하지 않는다.
2-3. 문자셋 []
1) 문자열 집합체 설정 []
gr로 시작하고 y로 끝나면서 a나 b, d, g 중 하나라도 만족하고 있는 문자를 찾음
2) 문자열 집합체 범위 설정 [-]
gr로 시작하고 y로 끝나면서 a부터 g중 하나라도 만족하고 있는 문자를 찾음
a~z, A~Z, 0~9까지 만족하고 있는 문자를 찾음
3) 부정 문자셋 [^]
a~z, A~Z, 0~9를 제외한 문자를 찾음
3. Quantifiers
기호 | 설명 |
? | 있거나 없거나 |
* | 있거나 없거나 많거나 |
+ | 하나 또는 많이 |
{n} | n번 반복 |
{min,} | 최소 |
{min, max} | 최소 그리고 최대 |
3-1. 있거나 없거나 ?
gr로 시작하고 y로 끝나면서 중간에 a가 있거나 없는 문자열 찾음
3-2. 있거나 없거나 많거나 *
gr로 시작하고 y로 끝나면서 중간에 a가 없거나 한 개 또는 한 개 이상인 문자열 찾음
3-3. 하나 또는 많이 +
gr로 시작하고 y로 끝나면서 중간에 a가 한 개 또는 한 개 이상인 문자열 찾음
없는 것은 찾지 않음!!
3-4. n번 반복 {n}
gr로 시작하고 y로 끝나면서 중간에 a가 2번 반복되는 문자열 찾음
3-5. 최소 그리고 최대 {min, max}
gr로 시작하고 y로 끝나면서 중간에 a가 최고 2번, 최대 3번 반복되는 문자열 찾음
4. Boundary-type
기호 | 설명 |
\b | 단어의 경계 |
\B | 단어 경계가 아님 |
^ | 문장의 시작 |
$ | 문장의 끝 |
4-1. 단어의 경계 \b
1) \b 앞에서 사용
Ya가 단어 앞에서 시작하는 문자만 찾음 차이점 확인하기!
2) \b 뒤에서 사용
Ya가 단어 뒤에 있는 문자 찾음
4-2. 단어의 경계 부정 \B
단어 뒤에서 쓰이지 않는 Ya만 찾음
4-3 문장의 시작 ^
문장 시작에서 Hi를 찾음, 뒤에 있는 Hi는 찾지 않음
4-4 문장의 끝 $
문장 끝에서 Hi를 찾음
5. Character classes
기호 | 설명 |
\ | 특수 문자가 아닌 문자 |
. | 어떤 글자, 줄바꿈은 제외 |
\d | digit 숫자 |
\D | digit 숫자 아닌 것 |
\w | word 문자 |
\W | word 문자 아닌 것 |
\s | space 공백 |
\S | 공백 아닌 것 |
5-1 어떤 글자 .
모든 글자를 의미한다 . 한 개당 한 글자를 의미
5-2 특수 문자가 아닌 문자 \
모든 문자를 의미하는 . 이 아닌 진짜 . 을 찾고자 할 땐 \사용
[]와 {}를 찾기 위한 정규표현식
5-3 숫자 \d
숫자를 찾음
5-4 숫자가 아닌 것 \D
숫자가 아닌 것을 찾음
5-5 문자 \w
5-6 문자가 아닌 것 \W
5-7 공백 \s
5-8 공백이 아닌 것 \S
공백이 아닌 모든 문자열을 찾음
6. 예제
6-1 이메일
6-2 링크 아이디 찾기
6-3 연습 사이트
RegexOne - Learn Regular Expressions - Lesson 1: An Introduction, and the ABCs
Regular expressions are extremely useful in extracting information from text such as code, log files, spreadsheets, or even documents. And while there is a lot of theory behind formal languages, the following lessons and examples will explore the more prac
regexone.com