관련지식
javascript, regexp, regular expression
자바스크립트의 문자열에서 쓸수 있는 함수인 match()
, replace()
함수등은 정규표현식을 사용할수 있습니다.
var str = 'For more information, see Chapter 3.4.5.1';
var re = /see (chapter \d+(\.\d)*)/i;
var found = str.match(re);
그런데 위와 같은 형태에서는 정규식에 변수를 사용할수가 없습니다. 변수를 사용하면 그냥 정규식의 일부가 될 뿐이죠. 정규식에 변수를 사용하려면 RegExp
를 사용하면 됩니다. 아래 두개의 정규식은 완전히 동일합니다.
var test = 'abc012eiR';
var re1 = /[a-z]*/;
console.log(test.replace(re1, ''));
var re2 = new RegExp('[a-z]*');
console.log(test.replace(re2, ''));
문자열의 끝을 의미하는 g
대소문자를 무시하는 i
같은 옵션을 줄수 있습니다. RegExp
의 두번째 인자에 옵션을 넣을수 있습니다. 아래의 정규식도 역시 동일한 결과를 나타냅니다.
var test = 'abc012eiR';
var re1 = /[a-z]*/gi;
console.log(test.replace(re1, ''));
var re2 = new RegExp('[a-z]*', 'gi');
console.log(test.replace(re2, ''));
'javascript' 카테고리의 다른 글
[javascript] 핀터레스트처럼 Masonry Layout 적용해보기 (1) | 2019.11.04 |
---|---|
[javascript] require.js 에서 DataTables 로딩시 경로를 잘못 찾을때 (0) | 2019.10.29 |
[javascript] bind() apply() call() 그리고 화살표 함수 (0) | 2019.09.11 |
[javascript] 숫자를 한글로 변환하는 함수 (2) | 2019.09.03 |
[javascript] callback, Promise, async/await 모두 지원하는 함수 만들기 (0) | 2019.08.28 |