요약(Summary)
정규표현식(Regular Expression)을 사용하기 위한 객체를 생성한다.
문법(Syntax)
new RegExp(pattern [,flags]) // 생성자 방식 /pattern/flags // 정규표현식 리터럴
인자(Parameters)
인자명 | 데이터형 | 필수/옵션 | 설명 |
---|---|---|---|
pattern | string | 필수 | 정규표현식 |
flags | 옵션 |
|
설명(Description)
정규표현식은 다음과 같은 경우 사용한다.
- 문자열에서 특정 문자열이 존재하는지 확인
- 문자열의 특정 부분을 다른 문자열로 변경
Character | Meaning |
---|---|
\ |
이스케이핑(escaping) |
^ |
범위, 시작 지점, |
$ |
범위, 끝나는 지점 |
* | 수량, 없거나 더 많다 == {0,} |
+ |
수량, 1보다 많다. == {1,} |
? |
수량, 없거나 하나이다. |
. |
일치, 문자 하나와 일치 |
(x) |
일치, x와 일치하는 것을 찾은 후에 이에 접근할수 있도록 함 |
x|y | 일치. x나 y와 일치 |
t{n} | 수량. t와 n번 일치하는 문자열과 일치 |
t{n,} | 수량, t와 n번 이상 일치하는 문자열과 일치 |
t{n,m} | 수량. t와 n번 이상 m번 이하로 일치하는 문자열과 일치 |
[xyz] | 일치. xyz중에 하나라도 일치하는 문자열과 일치 |
예제(Example)
var re = /(\w+)\s(\w+)/; // 가운데 공백(\s)이 들어가는 단어(\w)와 단어를 찾아서 참조(괄호)할 수 있게 한다. var str = "coding everybody"; var newstr = str.replace(re, "$2, $1"); // string object의 replace 메소드를 이용해서 첫번째 참조와 두번째 참조의 순서를 바꾸고 그 사이에 ','를 넣는다. alert(newstr); // everybody, coding
var text = "First line\nsecond line"; var regex = /(\S+) line\n?/y; var match = regex.exec(text); alert(match[1]); // "First" alert(regex.lastIndex); // 11 var match2 = regex.exec(text); alert(match2[1]); // "Second" alert(regex.lastIndex); // "22" var match3 = regex.exec(text); alert(match3 === null); // "true"
참고