정규 표현식(regular expression)에서 특수 문자는 단일 문자나 대괄호로 묶인 문자 시퀀스의 반복 횟수 또는 위치를 나타내는 데 사용됩니다. 각 특수 문자는 고유한 의미를 가지며, +, *, ?, $ 같은 기호는 항상 문자 뒤에 붙어 해당 문자의 반복 규칙이나 출현 위치를 지정합니다.
주요 특수 문자 정리
| 번호 | 표현식 및 설명 |
|---|---|
| 1 | p+ p가 하나 이상 포함된 모든 문자열과 일치합니다. |
| 2 | p* p가 없거나 하나 이상 포함된 모든 문자열과 일치합니다. |
| 3 | p? p가 없거나 최대 하나만 포함된 모든 문자열과 일치합니다. |
| 4 | p{N} p가 정확히 N개 연속으로 포함된 모든 문자열과 일치합니다. |
| 5 | p{2,3} p가 두 개 또는 세 개 연속으로 포함된 모든 문자열과 일치합니다. |
| 6 | p{2} p가 최소 두 개 이상 연속으로 포함된 모든 문자열과 일치합니다. |
| 7 | p$ 문자열 끝에 p가 있는 모든 문자열과 일치합니다. |
| 8 | ^p 문자열 시작 부분에 p가 있는 모든 문자열과 일치합니다. |
예제
다음 코드를 실행하면 자바스크립트 정규식에서 특수 문자가 실제로 어떻게 동작하는지 직접 확인할 수 있습니다.
<html>
<head>
<title>JavaScript Regular Expressions</title>
</head>
<body>
<script>
var myStr = "Welcome to our website! Welcome to Tutorialspoint!";
var reg = /Wel*/g;
var match = myStr.match(reg);
document.write(match);
</script>
</body>
</html>
실행 결과 해설
위 예제에서 사용된 패턴 /Wel*/g는 'W' 다음에 'e'가 오고, 그 뒤에 'l'이 없거나 하나 이상 반복되는 부분을 전역(g) 옵션으로 찾습니다. 따라서 문자열 내에서 "Welcome"이 등장할 때마다 "Wel"이 매칭되어 결과는 Wel,Wel로 출력됩니다. 이처럼 * 특수 문자를 활용하면 특정 문자의 반복 여부와 상관없이 유연하게 패턴을 검색할 수 있습니다.