본문 바로가기

자바스크립트

정규표현식

- 정규표현식 사용

→ 정규표현식을 사용할 때 사이에 변수를 넣고 싶은 경우 변수명을 바로 사용하면 안된다.

→ 따로 문자열 변수를 선언해서 변수의 값을 가져와서 정규표현식에 맞게 적용한뒤 사용해야 한다.

ex) str.match(/${str[i]}/g); 또는 str.match(/str[i]/g);

→ 이 경우 str[i]의 변수의 값이 정규표현식에 사용되는 것이 아니라 ‘str[i]’라는 문자열과 일치하는 부분을 찾게 되어 null이 출력된다

→ 정규표현식에 변수를 삽입하여 사용하려는 경우에는 RegExp 객체의 생성자 함수를 호출하여 생성해야 한다.

/  ex) let re = new RegExp("ab+c");

RegExp 객체의 생성자 함수를 이용하여 정규표현식 생성시 ‘/매개변수/’형태로 자동으로 생성되기 때문에 생성자 함수 호출시 매개변수에 ‘//’를 사용하지 않고 안에 내용을 바로 넣는다.

→ 정규표현식 옵션의 경우 var myRe = new RegExp("d(b+)d", "g");

방식으로 사용한다 ( = /d(b+)d/g 라는 정규표현식), 예시는 g를 사용

→ 만약 /str[i]/g 라는 정규표현식을 생성하려는 경우 가운데 변수가 있기 때문에 문자열로 생성할 수 없고 RegExp 객체의 생성자 함수를 이용하여 생성해야 하며 뒤에 g라는 옵션이 있으므로 매개변수 순서에 맞게 생성자함수에 입력하면 된다

/  ex) let regExp = new RegExp(str[i],’g’);

→ 옵션은 string형태로 작성, 정규표현식에 사용될 변수는 앞자리에 작성

→ 만약 변수와 문자열을 동시에 사용하는 정규표현식을 사용하려는 경우 `(백틱)을 사용하여 작성한다

/  ex) let regExp = new RegExp(`${str[i]} 문자열 추가`,'g');

 

'자바스크립트' 카테고리의 다른 글

스코프(scope)의 전반적인 개념  (0) 2021.05.07
원시자료형 & 참조자료형  (0) 2021.05.07
배열&객체의 전반적인 개념  (0) 2021.05.07
반복문  (0) 2021.05.07
템플릿 리터럴 및 형변환  (0) 2021.05.07