1. 자바스크립트 정규표현식 ☞ 정규표현식 참조
ㅇ 2개의 슬래시(/) 사이에 `문자열 패턴 식(정규표현식)`을 줌
- 例) var testRegExp = /(\.\w{3,4}$)/;
. 마침표(.)가 있고,
. 그 뒤에 3 혹은 4개의 문자(w{3,4})가 연속하며,
. 이들을 서브 패턴( ( ) )화 해서,
. 문자열 끝($)에서 찾음
2. 자바스크립트 정규표현식의 주요 패턴 문자
ㅇ 메타 문자 (특수 문자 기호) ☞ 정규표현 메타 문자 참조
- ^ : 행의 처음
- $ : 행의 끝
- 직전 문자 반복을 나타내는 수량자
. * (0회 이상 매치) : 매치시 배열 반환, 미 매치시 빈 배열 반환
.. 例) "aaaac".match(/a*/) => ["aaaa"]
.. 例) "12a 12b 12c".match(/12d*/) => ["12"]
.. 例) "12a 12b 12c".match(/12b*/g) => ["12","12b","12"]
.. 例) "aab aac".match(/k*/); => [""]
.. 例) "da caa baaa".match(/a*/); => [""]
. + (1회 이상 매치) : 매치시 배열 반환, 미 매치시 null 반환
.. 例) "aab aac".match(/k*/); => null
.. 例) "da caa baaa".match(/a+/); => ["a"]
.. 例) "da caa baaa".match(/a+/g); => ["a", "aa", "aaa"]
. ? (0 또는 1회 만 매치) : 매치시 배열 반환, 미 매치시 빈 배열 반환
. +? (1회 만 매치)
. *? (최소 매치)
- 반복 범위 지정을 나타내는 수량자
. {n,m} (범위 지정 반복, n회부터 m회까지 반복)
- 특정 용도 앵커
. \d : 1개 숫자에 일치
. \w : 1개 문자에 일치
. \. : 마침표 `.` (임의 한 문자 `.`와의 혼동 방지)
- [ ] : 1개 문자 클래스
. 특정한 한 문자를 나타냄 (例: 영어 소문자 모음 1개 문자 [aeiou])
- ( ) : 서브 패턴, 그룹화
ㅇ 수정자(modifier) 또는 옵션 지정 (플래그)
- g : 전역 검색
. 모든 일치를 전부 대상으로 함. 그렇지 않으면 최초 일치 만 하게 됨.
- i : 대소문자 구분 안함
- m : 일치 대상에 줄바꿈이 있더라도 전체 검색
- u
- y
ㅇ 조건
- | : OR 조건
3. 자바스크립트 정규표현식의 생성 방법 둘(2)
ㅇ 생성자 함수에 의한 생성 방식
- 例) const regexp1 = new RegExp(/^abc/i);
const regexp1 = new RegExp(/^abc,'i');
const regexp1 = new RegExp('^abc','i');
ㅇ 리터럴(Literal)에 의한 생성 방식
- 例) const regexp1 = /^abc/;
4. 자바스크립트 정규표현식의 메소드
ㅇ String 객체의 메서드
- 문자열.search(패턴) : 패턴에 부분 일치하는 위치(인덱스)를 반환
. (비일치면, -1 반환)
- 문자열.match(패턴) : 패턴에 전방 일치하는 문자열을 배열로 반환
. (비일치면, null 반환)
. 例) "aab aac".match(/a/g); => ["a","a","a","a"]
. 例) "aab aac".match(/a+/); => ["aa","aa"]
- 문자열.split(패턴) : 패턴에 일치하는 문자열들을 분할시켜 배열화 반환
- 문자열.replace(패턴 또는 바뀔 문자열, 바꿀 문자열)
. 패턴에 일치하는 문자열을 지정한 문자열로 치환
. 例) "aA bB cC".replace("c","C") => "aA bB CC"
ㅇ RegExp 객체의 메서드
- 패턴.exec(문자열) : 패턴에 일치하는 최초 문자열 1개 만을 배열로 반환
. (비일치면, null 반환)
- 패턴.test(문자열) : 패턴에 일치하면 true, 못하면 false 반환
5. 자바스크립트 정규표현식 例
ㅇ 정규 표현식의 테스트용 웹사이트 : regexr.com 등
ㅇ 정규표현식의 例 ☞ 정규표현식 예 참조