검색 기준 패턴
0. 요약
|
OR
[]
괄호안의 문자들 중 하나. or 처리 묶음
[^문자]
괄호안의 문자를 제외한 것
^문자열
특정 문자열로 시작(시작점)
문자열$
특정 문자열로 끝남(종착점)
1. | 패턴
| 패턴은 OR조건으로 연결시킨다.
1-1. | 패턴 사용예시
정규 표현식은 /hi|me/이다. hi또는 me 단어를 찾는 정규식이다.

2. [] 패턴
[] 패턴은 괄호안의 문자들 중 하나라는 뜻으로 or를 처리하기 위해 사용하는 묶음이라고 생각하면 된다. 괄호안에 문자들을 넣어 사용한다.
주의할 점은 괄호안의 문자는 하나의 단어가 아니라 개별적인 문자들로 이루어져 있다는 것이다. 예를 들어 /[abc]/은 abc 단어를 포함하는 것이 아니라 a 또는 b 또는 c를 포함하는 것을 찾는 패턴이다.
/abc/: "abc"를 포함하는
/[abc]/: "a" 또는 "b" 또는 "c"를 포함하는
2-1. [] 패턴을 사용하지 않은 예시
정규 표현식이 /name/g이다.
/name/:
name단어를 찾는다.g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
결과는 아래와 같다.

2-2. [] 패턴 사용예시
이번엔 정규 표현식인 /[name]/g이다.
/[name]/:
n,a,m,e문자를 찾는다.g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
즉, 문자열 내 모든 n, a, m, e 문자를 찾는 정규 표현식이다. 결과는 아래와 같다.

3. [^문자] 패턴
[^문자] 패턴은 [] 패턴과 반대의 개념으로 이해하면 된다. 즉, 괄호안의 문자를 제외한 것을 찾는 패턴이다.
3-1. [^문자] 패턴 사용예시
정규 표현식은 /[^name]/g이다.
/[^name]/:
n,a,m,e를 제외한 문자를 찾는다.g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
바로 위에서 살펴본 3-2. [] 패턴 사용 예시와 반대의 결과가 나타난다.

4. ^문자열 패턴
^ 기호가 괄호 밖에서 사용되면 문장의 시작을 뜻한다. 즉 ^문자열 패턴은 찾는 패턴이 문장의 처음에 있는 경우를 찾는다. 문자열이 문장의 시작점에 있어야 한다.
4-1. ^문자열 패턴 사용예시 1
정규 표현식은 /^H/이다. H로 시작하는 문장이 있는 경우를 찾는다.

4-2. ^문자열 패턴 사용예시 2
정규 표현식은 /^W/이다. W로 시작하는 문장이 있는 경우를 찾는다.
일치하는 패턴이 없으므로 아무것도 찾지 못한다.

4-3. ^문자열 패턴 사용예시 3
정규 표현식은 /^[HW]/gm이다.
/^[HW]/:
H또는W로 시작하는 문장이 있는 경우를 찾는다.g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
m: 줄 바꿈을 허용한다.
이번에는 []패턴과 함께 사용하였다. ^가 괄호 밖에서 사용됨으로 이는 문장의 시작의 경우를 찾는 패턴이다. 만약 괄호 안에서 사용되었으면 다른 의미를 가지게 된다.
또한 m 플래그를 사용함으로써 줄 바꿈을 허용하여 다른 행에서도 H또는 W로 시작하는 문장이 있는 경우를 찾는다.

5. 문자열$ 패턴
^문자열 패턴이 문장의 시작점을 뜻한다면 문자열$ 패턴은 문장의 종착점을 뜻한다. 즉, 찾는 패턴이 문장의 끝에 있는 경우를 찾는다.
5-1. 문자열$ 패턴 사용예시
정규 표현식은 /name\?$/이다. name?으로 끝나는 문장이 있는 경우를 찾는다.

6. Conclusion
검색 기준 패턴에 대해 정리하였다.
\b,\B패턴은 다른 패턴보다 헷갈리는 면이 있는 듯하여 이해하기가 어려웠다. 또한 아직 한 번도 사용해보지 않은 패턴이었기 때문에 생소한 느낌이 들었다. 지금은 감만 잡을 뿐 아직 적절히 사용할 수 있는 힘은 부족하다. 실전에서 많이 사용하고 싶다. -> 해당 정규식은정규식 특정 문자 숫자 매칭 패턴으로 이동 다른 패턴은 코딩 테스트세어 자주 봤던 패턴이라 정리하는 데 큰 어려움이 없었다. 오히려 의미를 모르고 사용했기에 정리를 하면서 가려웠던 부분을 시원하게 긁은 느낌이어서 좋았다. 점점 패턴을 많이 정리하고 사용하게 될 텐데 헷갈리지 않도록 조심하도록 하자.
참고
[JS] 📚 정규표현식(RegExp) - 이해하기 쉽게 정리 + 응용 예제 정규표현식(Regular Expression, regex)
📅 2023-01-24
Last updated