본문 바로가기
Programming/Javascript

[Javascript] 내장 객체 - RegExp

by Bam_t 2021. 3. 18.
728x90

내장 객체 RegExp는 정규 표현을 다루는데 이용하는 내장 객체입니다.

정규 표현에 관한 내용은 이전 포스트를 참조해주세요.

2021.03.18 - [Programming/Javascript] - [Javascript] 정규 표현

 

[Javascript] 정규 표현

내장객체의 마지막 부분이자 새로운 개념인 정규 표현에 관한 포스트입니다. 1. 정규 표현 정규 표현이란 문자열에서 특정한 패턴을 가진 문자열을 의미합니다. 대표적으로 우리가 사용하는 웹

bamtory29.tistory.com


1. 객체 생성

let 변수명 = new RepExp('정규 표현식', '옵션');
let 변수명 = /정규표현/옵션;

 

 

 

2. 정규 표현에서 검색하기

정규 표현에서 검색하는 방법으로는 두가지 방법이 있습니다. 하나는 String.match()이고, 또 하나는 RegExp.exec()입니다. 

 

2-1. String.match()

str.match(정규 표현);
// str은 검색할 문자열

 

match()메소드는 문자열 str에서 정규 표현과 매치된 문자(열)를 배열의 형태로 반환해 줍니다.

 

 

 

2-2. RegExp.exec()

정규표현.exec(str)
//str은 검색할 문자열

 

exec()메소드는 문자열 str에서 정규 표현과 매치된 문자(열)을 반환합니다.

 

 

 

2-3. match()와 exec()의 차이점

match()와 exec()메소드는 겉으로 보면 정규 표현과 매치된 문자를 반환한다는 공통점을 갖습니다. 그럼 이들의 차이는 뭘까요?

우선 위에서도 언급됐지만 match()는 계속 검사하면서 매치될 때 마다 그 결과를 배열로 반환하고 exec()는 한 번의 실행에서 한 번의 결과만을 반환합니다. 

또한 exec()만의 특별한 기능으로 매치되어 한 번 반환할때 반환했던 위치를 기억하고 있습니다. 그래서 다시 한 번실행하게 되면 기억한 위치부터 검색을 실행할 수 있습니다.

 

+ String.matchAll()이라는 메소드가 등장함으로써 exec()대신 간단하게 문자열 내 정규 표현의 다수 일치를 반환할 수 있게되었습니다.

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec

 

RegExp.prototype.exec() - JavaScript | MDN

RegExp.prototype.exec() exec() 메서드는 주어진 문자열에서 일치 탐색을 수행한 결과를 배열 혹은 null로 반환합니다. JavaScript RegExp 객체는 global (en-US) 또는 sticky (en-US) 플래그를 설정(/foo/g, /foo/y 등)한

developer.mozilla.org


 

728x90

'Programming > Javascript' 카테고리의 다른 글

[Javascript] this  (0) 2021.03.18
[Javascript] 객체와 클래스  (0) 2021.03.18
[Javascript] 정규 표현  (0) 2021.03.18
[Javascript] 내장 객체 - Date 객체  (0) 2021.03.17
[Javascript] 내장 객체 - Set  (0) 2021.03.15

댓글