정규표현식이란, 문자열을 검색하고 대체하는 데 사용 가능한 일종의 형식 언어(패턴)입니다. 간단한 문자 검색부터 이메일, 패스워드 검사 등의 복잡한 문자 일치 기능 등을 정규식 패턴으로 빠르게 수행할 수 았습니다. 이 도구를 이용하면 수십줄이 필요한 작업을 한줄로 끝낼 수 있습니다.
정규표현식의 객체로
/
,new RegExp
를 사용합니다.var pattern = /a/; var pattern = new RegExp('a');
컴파일을 검출하고자 하는 패턴을 만드는 일입니다. 객체를 만드는 방법을 두가지가 있는데, a라는 텍스트를 찾아내는 정규표현식을 만드는 방법입니다. 두가지 모두 같은 결과입니다. 정규표현삭 객체('a') pattern(패턴)이라는 변수에 저장을 하는 것을 의미합니다.
RegExp
생성자 함수를 호출하여 RegExp 객체를 생성할 수도 있습니다.
정규표현식을 컴파일해서 객체를 만들었다면 이제 문자열에서 원하는 문자를 찾아내야 합니다.console.log(pattern.exec('abcdef')); // ["a"]
실행결과는 문자열 a를 값으로 하는 배열을 리턴합니다.
console.log(pattern.exec('bcdefg')); // null
인자 'bcdef'에는 a가 없기 때문에 null을 리턴합니다.
console.log(pattern.test('abcdef')); // true console.log(pattern.test('bcdef')); // false
인자 안에 패턴에 해당되는 문자열이 있으면 true, 없으면 false를 리턴합니다.
var pattern = /a/; var str = 'abcdef'; str.match(pattern); // ["a"]
var str = 'bcdef'; str.match(pattern); // [null]
대상에 'a'가 없는 상태에서 match를 하게 되면 null이 됩니다.
문자열에서 패턴을 검색해서 이를 변경한 후에 변경된 값을 리턴합니다.
var str = 'abcdef'; str.replace(pattern, 'A'); // [Abcdef]
이 문자열에서 패턴에 해당되는 것 'A'를 찾아서 대문자 'A' 를 바꾸게 된 것입니다.
영어 대소문자를 구분하지 않겠다라는 의미입니다.
ig를 같이 사용하게 되면 대소문자 구분없아 표현식의 모든 검색결과를 배열로 반환합니다.var oi = /a/i; "Abcde".match(oi); // ["A"]
모든 문자를 검색하겠다라는 의미입니다.
g가 있는 표현식은 모든 검색 결과를 배열로 반환합니다.var xg = /a/; "abcdea".match(xg); // ["a"]
두개의 있는 a를 하나로만 검출되서 나옵니다.
var og = /a/g; "abcdea".match(og); //["a","a"]
이 문자열에 포함되어 있는 패턴에 해당되는 문자열을 전부 다 배열해서 리턴해줍니다.