검색 기준 패턴
Last updated
Last updated
|
OR
[]
괄호안의 문자들 중 하나. or
처리 묶음
[^문자]
괄호안의 문자를 제외한 것
^문자열
특정 문자열로 시작(시작점)
문자열$
특정 문자열로 끝남(종착점)
|
패턴은 OR
조건으로 연결시킨다.
정규 표현식은 /hi|me/
이다. hi
또는 me
단어를 찾는 정규식이다.
[]
패턴은 괄호안의 문자들 중 하나라는 뜻으로 or
를 처리하기 위해 사용하는 묶음이라고 생각하면 된다. 괄호안에 문자들을 넣어 사용한다.
주의할 점은 괄호안의 문자는 하나의 단어가 아니라 개별적인 문자들로 이루어져 있다는 것이다. 예를 들어 /[abc]/
은 abc
단어를 포함하는 것이 아니라 a
또는 b
또는 c
를 포함하는 것을 찾는 패턴이다.
/abc/: "abc"를 포함하는
/[abc]/: "a" 또는 "b" 또는 "c"를 포함하는
정규 표현식이 /name/g
이다.
/name/: name
단어를 찾는다.
g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
결과는 아래와 같다.
이번엔 정규 표현식인 /[name]/g
이다.
/[name]/: n
, a
, m
, e
문자를 찾는다.
g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
즉, 문자열 내 모든 n
, a
, m
, e
문자를 찾는 정규 표현식이다. 결과는 아래와 같다.
[^문자]
패턴은 []
패턴과 반대의 개념으로 이해하면 된다. 즉, 괄호안의 문자를 제외한 것을 찾는 패턴이다.
정규 표현식은 /[^name]/g
이다.
/[^name]/: n
, a
, m
, e
를 제외한 문자를 찾는다.
g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
바로 위에서 살펴본 3-2. [] 패턴 사용 예시
와 반대의 결과가 나타난다.
^
기호가 괄호 밖에서 사용되면 문장의 시작을 뜻한다. 즉 ^문자열
패턴은 찾는 패턴이 문장의 처음에 있는 경우를 찾는다. 문자열이 문장의 시작점에 있어야 한다.
정규 표현식은 /^H/
이다. H
로 시작하는 문장이 있는 경우를 찾는다.
정규 표현식은 /^W/
이다. W
로 시작하는 문장이 있는 경우를 찾는다.
일치하는 패턴이 없으므로 아무것도 찾지 못한다.
정규 표현식은 /^[HW]/gm
이다.
/^[HW]/: H
또는 W
로 시작하는 문장이 있는 경우를 찾는다.
g: 문자열 내 모든 패턴을 검색한다. 결과가 하나 이상일 수 있다.
m: 줄 바꿈을 허용한다.
이번에는 []
패턴과 함께 사용하였다. ^
가 괄호 밖에서 사용됨으로 이는 문장의 시작의 경우를 찾는 패턴이다. 만약 괄호 안에서 사용되었으면 다른 의미를 가지게 된다.
또한 m
플래그를 사용함으로써 줄 바꿈을 허용하여 다른 행에서도 H
또는 W
로 시작하는 문장이 있는 경우를 찾는다.
^문자열
패턴이 문장의 시작점을 뜻한다면 문자열$
패턴은 문장의 종착점을 뜻한다. 즉, 찾는 패턴이 문장의 끝에 있는 경우를 찾는다.
정규 표현식은 /name\?$/
이다. name?
으로 끝나는 문장이 있는 경우를 찾는다.
검색 기준 패턴에 대해 정리하였다.
\b
,\B
패턴은 다른 패턴보다 헷갈리는 면이 있는 듯하여 이해하기가 어려웠다. 또한 아직 한 번도 사용해보지 않은 패턴이었기 때문에 생소한 느낌이 들었다. 지금은 감만 잡을 뿐 아직 적절히 사용할 수 있는 힘은 부족하다. 실전에서 많이 사용하고 싶다. -> 해당 정규식은정규식 특정 문자 숫자 매칭 패턴
으로 이동 다른 패턴은 코딩 테스트세어 자주 봤던 패턴이라 정리하는 데 큰 어려움이 없었다. 오히려 의미를 모르고 사용했기에 정리를 하면서 가려웠던 부분을 시원하게 긁은 느낌이어서 좋았다. 점점 패턴을 많이 정리하고 사용하게 될 텐데 헷갈리지 않도록 조심하도록 하자.
[JS] 📚 정규표현식(RegExp) - 이해하기 쉽게 정리 + 응용 예제 정규표현식(Regular Expression, regex)
📅 2023-01-24