티스토리 뷰
정규표현식을 이용하는 함수는 크게 두가지가 있습니다.
하나는 test() 이고, 또 하나는 replace() 입니다.
test는 str의 패턴이 정규식과 일치하는지를 검증하는 함수이고, replace는 특정문자열이 정규식과 일치할 경우 다른 문자열로 변환하는 것입니다.
예)
1. test()
var regx = /^\d{5}$/; // 숫자로 시작되며 5자리 숫자로 구성되어 있는 경우
if (regx.test(str)) {
alert("정규식과 일치합니다.");
} else {
alert("정규식과 일치하지 않습니다.");
}
2. replace()
var regx = /^\d{5}$/;
var reStr = str.replace(regx, "aaa"); // str이 정규식과 일치할 경우 "aaa"로 변환하여 reStr에 저장됨
정규표현식 형식
정규 표현식은 / / 사이에 쓰여지며, ' ' 이나 " " 은 사용하지 않습니다.
정규표현식 예
/^\d{5}$/;
^ 은 문자열의 시작을 의미합니다. 즉, 다음에 나올 정규표현식으로 시작되는 문자열을 의미합니다.
\d 는 숫자를 의미합니다.
{5} 는 바로 앞 정규표현식(\d)를 다섯번 반복한다는 의미입니다. 즉 숫자가 5번 반복되는경우입니다. 같은 숫자일 필요는 없습니다.
$ 는 정규표현식의 끝을 의미합니다.
해석하지면, 숫자로 시작하며, 숫자가 5번 반복되는 경우가 됩니다.
. newline 이외의 어떤 문자와도 일치합니다.
\d 숫자를 의미히합니다.
\D 숫자가 아닌 문자를 의미합니다.
\s 공백문자와 일치합니다. 스페이스, 탭, 줄바꿈, 리턴키
\w 문자와 숫자를 의미합니다.
^ 패턴의 시작을 의미 합니다.
$ 패턴의 끝을 알립니다.
/cat$/ cat의 끝나는 문자열 "tomcat"
/^\d/ 숫자로 시작되는 문자열 "1aaaa", "22232a"
/\d\d\d/ 세자리 숫자가 포함된 문자열 "a112bb", "112aa", "dfdf222"
/^cat/ cat으로 시작되는 문자열 "catch2"
/\d\d$/ 두자리 숫자로 끝나는 문자열 "dffdf76"
우리나라 주민번호를 검증하는 정규표현식
/^\d\d[0-1]\d[0-3]\d-[1-4]\d{6}$/
처음 두자리는 아무숫자나올수 있고, 세번째는 0-1(월의앞지리), 네번재는 아무숫자,
다섯번째는0-3(일의앞자리), 여섯번째는 아무숫자,
-
첫번째는 1-4 (1,3은 남자, 2,4는 여자)
나머지는 아무숫자6자리
물론 이렇게 해서 주민번호를 조합할순 없습니다 ^^;; 주민번호에는 특정공식이 들어가기 때문이죵.
수량한정자
* 선행 하위 패턴은 0 혹은 그 이상 와야합니다. 0이니 안올수도 있죠
{n} 선행 하위 패턴이 n번 만큼 반복됩니다.
{min, max} min 이상 max 이하의 반복입니다.
+ 선행 하위 패턴은 1번 혹은 그 이상 와야합니다.
? 선행 하위 패턴은 0혹은 1번만 와야 합니다.
() 그룹문자를 만듭니다. 일반적으로 정규식은 한문자씩 검증하는데 ()로 묶으면 여러 문자를
그룹으로 묶을 수 있습니다. 예 (hot)
/\w*/ 문자혹은 숫자가 0번이상 반복됩니다.
/.+/ 뉴라인을 제외한 모든 문자가 1번이상 반복됩니다.
/(Hot)? ?Dog/ Hot Dog, HotDog, Dog, (공백)Dog 와 일치합니다.
휴~ 아직 끝나지 않았습니다. ^^;; 물론 위에 것만 알아도 웬만한 정규표현식을 구현하는데 별 문제는 없습니다.
대체 메타문자
this|that this 혹은 that과 일치하는 경우를 의미합니다.
/small|medium|large/ 세단어 중 하나가 포함된 문자열과 일치합니다.
/(red|blue) pill/ red pill, blue pill 과 일치합니다.
[출처]Javascript 정규표현식
- Total
- Today
- Yesterday
- 아이폰 보조배터리
- GTO SHONAN 14DAYS
- 아이튠즈 없이 mp3가져오기
- 켄우드 정수기
- 로네펠트
- 아이폰 카메라어플
- georgia max
- 모토스톰2
- .NET Excel
- 릴리스 다이어리 - 설레어
- 보이스티
- IT·컴퓨터
- 삼성 외장하드
- 윈터드림
- 아이폰 셀카
- hot 6
- 보이스차
- 아이팟 보조배터리
- 닷넷 엑셀
- 나를 기억하고 있는 너에게
- Roibosh Vanilla
- 러브트리프로젝트
- Crows Zero
- 닷넷 파일형식
- God of War III
- Lily's Diary
- 안녕 바다
- KL2200
- 릴리스다이어리
- KL-2200
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |