정규표현식은 특정한 규칙을 가지는 문자를 표현하는데 사용하는 형식 언어이다.
정규표현식을 잘 모를 때에는 validation 체크가 상당히 고단하고, 지루했지만 정규표현식을 자유 자재로 다룰 줄 알게 되면 상당한 시간을 단축할 수 있고, 유용하며 코드가 깔끔해 진다.
가끔 표현식을 까먹는 경우가 있어 이곳에 표로 정리를 하고, 각 표현식에 대한 테스트 케이스를 만들어 보았다.
표현식 |
설명 |
^ |
문자열의 시작 |
$ |
문자열의 종료 |
. |
임의의 한 문자 (문자의 종류 가리지 않음)
단, \ 는 넣을 수 없음 |
* |
앞 문자가 없을 수도 무한정 많을 수도 있음 |
+ |
앞 문자가 하나 이상 |
? |
앞 문자가 없거나 하나있음 |
[] |
문자의 집합이나 범위를 나타내며 두 문자 사이는 – 기호로 범위를 나타낸다. []내에서 ^가 선행하여 존재하면 not 을 나타낸다. |
{} |
횟수 또는 범위를 나타낸다. |
() |
소괄호 안의 문자를 하나의 문자로 인식 |
| |
패턴 안에서 or 연산을 수행할 때 사용 |
\s |
공백 문자 |
\S |
공백 문자가 아닌 나머지 문자 |
\w |
알파벳이나 숫자 |
\W |
알파벳이나 숫자를 제외한 문자 |
\d |
숫자 [0-9]와 동일 |
\D |
숫자를 제외한 모든 문자 |
\ |
정규표현식 역슬래시(\)는 확장 문자 역슬래시 다음에 일반 문자가 오면 특수문자로 취급하고 역슬래시 다음에 특수문자가 오면 그 문자 자체를 의미 |
(?i) |
앞 부분에 (?i) 라는 옵션을 넣어주면 대소문자를 구분하지 않음 |
자바스크립트 또한 자바의 정규표현식과 대동소이하다.
아래 사용법만 익히면 쉽게 사용할 수 있다.
var filter = /[a-z]+/;
if (filter.test(“a”) == true) {
alert(“success”);
} else {
alert(“fail”);
}