정규 표현식은 다양한 메타문자와 특수 문자를 사용하여 패턴을 표현합니다. 이번에는 정규 표현식 문법을 간단하게 알아보겠습니다.
1. 리터럴(Literal)
정규 표현식에서 문자 그대로를 표현하려면 해당 문자를 그대로 입력합니다. 예를 들어, "a"는 "a" 자체를 나타냅니다.
2. 문자 클래스(Character Class)
문자 클래스는 대괄호([])로 표현하며, 해당 문자열이 특정한 문자 집합 안에 속하는지 판별합니다. 대괄호 안에는 검색하고자 하는 문자 집합을 지정할 수 있습니다.
예를 들어, [abc]는 a, b, c 중 하나가 포함된 문자열을 찾습니다. [a-z]는 소문자 알파벳을 나타내며, [0-9]는 숫자를 나타냅니다.
3. 닷(.)
닷은 모든 문자를 나타냅니다. 예를 들어, a.b는 "a"와 "b" 사이에 어떤 문자가 있어도 찾습니다. 하지만, 줄바꿈 문자는 닷으로 찾을 수 없습니다.
4. 양자범위(Quantifiers)
정규 표현식에서 양자범위는 패턴을 나타내는 문자 뒤에 쓰이며, 해당 문자의 반복 횟수를 나타냅니다. 예를 들어, "a+"는 "a"가 한 번 이상 반복되는 문자열을 찾습니다.
양자범위 종류에는 다음과 같은 것이 있습니다.
"+" : 1번 이상 반복
"*" : 0번 이상 반복
"?" : 0 또는 1번 등장
"{n}" : n번 반복
"{n, m}" : n번 이상, m번 이하 반복
5. 앵커(Anchors)
앵커는 검색 대상 문자열의 시작과 끝을 나타내는 문자입니다. 예를 들어, "^"는 문자열의 시작, "$"는 문자열의 끝을 나타냅니다.
6. 그룹(Group)
그룹은 괄호()로 묶여진 패턴을 나타냅니다. 예를 들어, (ab)+는 "ab"가 한 번 이상 반복되는 문자열을 찾습니다.
7. OR(|)
OR 연산자는 "|"로 나타내며, 여러 개의 패턴 중 하나만 일치해도 찾습니다. 예를 들어, "a|b"는 "a" 또는 "b" 중 하나만을 찾습니다.
8. 이스케이프(Escape)
정규 표현식에서 특수 문자를 문자 그대로 표현하려면 이스케이프(Escape) 문자인 백슬래시(\)를 사용합니다. 예를 들어, "\."는 닷 문자(.)를 나타냅니다.
9. 예약어(Metacharacters)
정규 표현식에서는 일부 문자가 예약어(Metacharacters)로 사용됩니다. 이러한 문자를 검색하려면 이스케이프 문자인 백슬래시(\)를 사용하여 나타냅니다.
다음은 예약어의 목록입니다.
^ : 문자열의 시작
$ : 문자열의 끝
. : 어떤 문자(줄바꿈 문자 제외) 하나
: 0개 이상의 문자
: 1개 이상의 문자
? : 0개 또는 1개의 문자
{} : 횟수 지정
[] : 문자 집합
() : 그룹화
| : OR 연산
이러한 예약어는 정규 표현식을 작성할 때 주의하여 사용해야 합니다.
10. 플래그(Flags)
정규 표현식에서 플래그(Flags)는 검색 옵션을 지정하는 데 사용됩니다. 플래그는 정규식 리터럴 뒤에 붙이며, 다음과 같이 사용할 수 있습니다.
i : 대/소문자를 구분하지 않고 검색합니다.
g : 모든 결과를 찾습니다.
m : 여러 줄에서 검색합니다.
예를 들어, /ab/g는 문자열에서 "ab"를 모두 찾습니다.
이상으로 정규 표현식의 기본적인 문법에 대해 알아보았습니다. 정규 표현식은 다양한 패턴을 표현할 수 있으며, 자세한 내용은 자바스크립트 공식 문서나 다른 자료를 참고하시면 됩니다.
'컴퓨터 > Javascript' 카테고리의 다른 글
JavaScript Array 자바스크립트 배열 (0) | 2022.02.25 |
---|---|
JavaScript Condition 자바스크립트 조건문 (0) | 2022.02.25 |
Javascript formData (0) | 2022.02.13 |
JSON과 JavaScript 객체의 차이 (0) | 2022.02.12 |
Javascript 팝업 (0) | 2022.02.04 |