정규표현식

Jun·2021년 7월 14일
0

정규표현식에대해서 자세히 알아보고자 한다.

정규표현식이란?
문자열에서 특정한 조건의 문자를 검색할때 사용되는 "패턴" 이다.

자바스크립트 정규표현식은 객체이다. 정규표현식는 다양한 method와 함께 사용된다.match(), replace(), search(), split() 등 다양하다. 일반적으로 literal 정규표현식을 많이 사용하는데 사용할때는 시작과 끝을 알리기 위해서 / 를 사용한다. ex) /a/ 정규표현식 끝에 g가 사용할 수 있는데 g 는 문자열 전체를 탐색하여 찾는다 . ex) /a/g

문자열에는 소문자,대문자,숫자, 특수문자를 다양하게 사용할 수 있는데 이들을 구별하기 위해서는 character class 를 사용해야한다.

Character class

. : .는 아무 문자를 찾을때 사용한다.
\d : 숫자(0~9)를 찾는다. \d 을 사용하거나 [0-9] 을 사용한다.

\D : 숫자(0~9)를 제외한 아무 문자를 찾는다. [^0~9] 로 표현될수도 있다.

\w : (underscore)을 포함하여 영문과 숫자를 찾는다.
[A-Za-z0-9
] 이렇게 표현하기도한다.

\W : \w 을 제외한 문자를 찾는다. [^A-Za-z0-9_].

\s : 스페이스,탭을 구분하여 찾는다.

\S : 스페이스,탭을 제외한 문자를 찾는다.

ex) " let number = "015 354 8787 687351 3512 8735"; 
	console.log(number.match(/\bd{4}\b)
    ===['8787','3512','8735']
    공백을 경계선으로하여 숫자가 4개인 경우만 찾는다.
    
  

문자의 수량 타입

x* : x가 0개 이거나 또는 여러개일 경우.

/ab*/ a로 시작하며 b가 없어나 또는 여러개인 경우.
a or abbbbbbbbbbb

x+ : x가 1개이거나 또는 여러개일 경우

/ab+/ a로 시작하며 b가 하나 있거나 또는 여러개인 경우.
a or abbbbbbbbbbb

x? : x로시작하며 x가 없거나 또는 하나있을경우

/a?bc?/ "abc"

x{n} : n은 정수이며 문자열에 x가 n개 있을 경우 찾는다.

경계타입

^ : 처음 시작하는 문자를 찾을경우.

ex) /^A/ 는 "aaaaa A" 에서 찾을수없다 null값
    하지만 "A asdfasdf" 에서는 A로 시작하는 문자열이기 때문에 찾을수 있다

$ : 문자열의 끝 을 나타낸다

\b : (boundary) 스페이스기준으로 단어 전체를 기준으로 하여 찾는다.

\B : 스페이스기준으로 단어스펠을 찾는다.

\ : 특별한 문자를 찾거나 종료을 알릴때 사용한다.

x(?=y) : x뒤에 바로 y가 있는지 없는지 검사할때 사용한다.

ex) /pa(?=radise|pal)/ pa 바로뒤의 문자가 radise 또는 pal 일 경우에 pa 를 찾는다.

x(?!y) : x 의 뒤에 바로 y가 없는 경우에만 찾는다.

/\d+(?!.)/ 일경우 소수점이 없는 숫자일 경우만 찾는다.

0개의 댓글