TIL77. 정규 표현식(regex)

Jaeyeon·2021년 4월 4일
0
post-thumbnail

정규 표현식(regex)이란?

  • regular expression의 약자
  • 문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 '검색'하거나 '치환'하는 과정을 매우 간편하게 처리 할 수 있도록 하는 수단이다.
  • 슬래시/를 이용해서 정규표현식임을 알리고 안에는 찾고자 하는 패턴을 입력 뒤에는 어떤 옵션을 이용해서 검색할건지 flag를 활용

Groups and Ranges

| 또는
() 그룹
[] 문자셋, 괄호안의 어떤 문자든
[^] 부정 문자셋, 괄호안의 어떤 문가 아닐때
(?:) 찾지만 기억하지는 않음, 그룹으로 묶지 않음


Hi 또는 Hello를 찾는다.


Hi 또는 Hello를 찾거나 And를 찾는다.
여기서 Hi또는 Hello는 그룹1번, And는 그룹2번에 속해있다.


gr e 또는 a 에 y가 붙어져 있는 단어를 찾는데 그룹으로 묶지는 않는다.


gr 하고 대괄호안에 있는 문자열을 모두 찾는다.


a to z , A to Z, 0 to 9가 아닌 것을 다 찾는다.

Quantifiers

? 없거나 있거나 (zero or one)
* 없거나 있거나 많거나 (zero or more)
+ 하나 또는 많이 (one or more)
{n} n번 반복
{min,} 최소
{min,max} 최소, 그리고 최대


gr과 y사이에 a가 있거나 없거나


gr과 y사이에 a가 없거나 있거나 많거나


gr과 y사이에 a가 하나 또는 많이


gr과 y사이에 a가 하나 있을 때


gr과 y사이에 a가 최소 하나 이상 있을 때


gr과 y사이에 a가 최소한개 최대2개 있을 때

Boundary-type

\b 단어 경계
\B 단어 경계가 아님
^ 문장의 시작
$ 문장의 끝


Ya중에서 처음시작하는 Ya만 추출


Ya중에서 끝나는 Ya만 추출


Ya중에서 끝나는 Ya 빼고 모두 추출


문장의 시작인 Ya를 추출


문장의 끝인 Ya를 추출

\ 특수 문자가 아닌 문자
. 어떤 글자 (줄바꿈 문자 제외)
\d digit 숫자
\D digit 숫자 아님
\w word 문자
\W word 문자 아님
\s space 공백
\S space 공백 아님


문자열 전부다 찾기 (줄바꿈 제외)


특정 기호 찾기


모든 숫자 찾기


숫자가 아닌 모든것을 찾기

정규표현식 응용하기

전화번호 모두 찾기


\d{2,3} : 숫자 최소2개, 최대3개를 찾는다.
[- .] : -, ,. 세개 중 하나라도 들어가 있는 것을 찾는다.
\d{3,} : 숫자 3개 이상인 것들을 찾는다.
[- .] : -, ,. 세개 중 하나라도 들어가 있는 것을 찾는다.
\d{3,} : 숫자 3개 이상인 것들을 찾는다.

이메일 모두 찾기


[a-zA-Z0-9._+-] : a to z A to Z 0 to 9 . _ + -이 들어간 모든것을 찾는다.
+ : 중복이 될 수 있으니 하나 또는 많이를 붙힌다.
@ : 골뱅이 포함
\. : .이 들어가야한다.

profile
생각하는 개발자 되기

0개의 댓글