정리/기타

정규식

민발자 2023. 11. 23. 09:47
728x90

 

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 연습 사이트

https://regexone.com/

 

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

 

728x90