# 정규표현식(regular expression) : 문자열에서 특정한 문자를 찾아내는 도구, 일종의 언어.
# 컴파일 : 패턴을 찾는 것
# 실행 : 대상(패턴)에 대해 어떠한 작업을 구체적으로 하는 것
# 정규표현식 리터럴
| var str = "a"; var pattern = /a/; //찾고자 하는 것(대상)을 /~/에 넣어준다. var pattern - new RegExp('a'); //Regular Expression의 약자, 찾고자 하는 것 a. |
|
정규표현식을 통해 하는 중요한 작업 : (필요한 정보를)추출, test, (찾아낸 정보를
| var pattern = /a/; //문자열 a를 찾고 싶다. pattern.exec('abcde'); //실행의 대상 : 'abcde' ["a"] | cs |
| var pattern = /a./; //. : 1문자 pattern.exec('abcde');["ab"] | cs |
| //exec : 필요한 정보 추출 var pattern = /a/; pattern.exec('bcdef'); // exec라는 명령어는 정규표현식이 찾고자하는 그 대상을 //첫번째 인자로 전달하여 패턴이 찾는 정보를 배열로 리턴 null //test : 존재 유무 테스트 pattern.test('abcde'); turepattern.test('bcde'); false | cs |
| //문자열 메소드 실행 var pattern = /a/; var str = 'abcde'; str.match(pattern); ["a"] // 배열리턴, 찾고자하는 a가 들어가있다. var str = 'bcdef'; str match(pattern); null //없으므로 null값 리턴 | cs |
| var str = 'abcdef'; str.replace(pattern, 'A'); "abcdef" | cs |
# 옵션
i
| var xi = /a/; // i옵션을 사용하지 않는다. "Abcde".match(xi); null var oi = /a/i; // i옵션 사용. 패턴에서 검출되는 대,소문자를 구분하지 않는다. "Abcde".match(oi); ["A"] | cs |
g : Global의 약자
| var xg = /a/; "abcdea".match(xg); ["a"] // a 한번만 검출 var og = /a/g; "abcdea".match(og); ["a", "a"] | cs |
i+g
| var ig = /a/ig; // 같이 사용가능 "AabcdAa".match(ig); ["A", "a", "A", "a"] | cs |
# 캡쳐 : 그룹을 지정하고 지정한 그 그룹을 가져와서 기능을 사용하는것)
치환 : 그룹의 값을 이용해 위치를 바꾸는것
| var pattern = /(\w+)\s(\w+)/; var str = "coding everybody"; var result = str.replace(pattern, "$2, $1"); // 패턴에 있는 문자를 $2, $1로 치환($2:두번째 그룹) console.log(result); everybody, coding | cs |
# 치환