본문 바로가기
IT/Frontend

Regex 정규식 표현방법 정리

by DOSGamer 2022. 8. 26.
반응형

정규식은 프로그래밍을 하다보면 반드시 접할 수 밖에 없다

Regular Expression

정규 표현식 또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.

기본표현

표현식설명
^The Start문자열이 The Start 로 시작합니다
The End$문자열이 The End 로 끝납니다
startstart 가 들어있는 모든 문자열을 매칭합니다

문자수량

표현식설명
ab*c0개 이상의 b 를 포함한 문자 ac, abc, abbc, abbbc 등
ab+c1개 이상의 b 를 포함한 문자 abc, abbc, abbbc 등
ab?c0개 또는 1개의 b 를 포함한 문자 ac, abc
ab{2}c2개의 b 를 포함한 문자 abbc
ab{2,}c2개 이상의 b 를 포함한 문자 abbc, abbbc, abbbbc 등
ab{2,5}c2개 이상 5개 이하의 b 를 포함한 문자 abbc, abbbc, abbbbbc
b*b{0,}
b+b{1,}
b?b{0,1}

그룹

그룹명을 설정하면 그룹명으로 key, value 로 접근가능하다

표현식설명
a(bc)문자열을 그룹으로 묶음처리 (bc) 를 그룹으로 만듬
a(bc)*bc 그룹이 0개 이상
a(bc){2,5}bc 그룹이 2개 이상 5개 이하
(ab)(cd)ab 그룹(Group 1)과 cd 그룹(Group 2)으로 잡는다. abcd
(ab)(?:cd)ab 그룹으로 잡지만 cd 는 그룹으로 잡지 않는다. abcd
(?:ab)ab 를 표현하지만 그룹으로 잡지는 않는다. Non-capturing group
a(?<group1>bc)bc 를 group1 이라는 그룹명으로 그룹핑 한다
([abc])\1\1 은 첫번째 캡쳐그룹과 동일한 패턴을 의미한다. [abc] 에서 a 가 캡쳐되었으면 \1 도 a 를 나타내고 c 가 캡쳐되면 \1 도 c 를 나타낸다. aa, bb, cc 를 찾는 패턴임
([abc])([def])\2\1첫번째 캡쳐그룹, 두번째 캡쳐그룹, 두번째, 첫번째 순으로 표시된 패턴을 찾는다. adda, beeb 를 찾는 패턴
(?<group1>[abc])\k<group1>group1 패턴을 2번 사용한 패턴을 찾는다. aa, bb, cc

OR

표현식설명
a(b|c)ab 또는 ac
a[bc]ab 또는 ac

문자

표현식설명
\d숫자
\w문자 (숫자, 영문, 언더바)
\s공백문자 ( 탭, 줄바꿈, 스페이스)
\b문자와 공백사이
\babc\babc 와 동일한 문자를 찾습니다
\Babc\B문자사이에 있는 abc 를 찾습니다. zabcdef
.모든 문자
.bc임의의 문자 1개 후에 bc
..bc임의의 문자 2개 후에 bc
\^^
\tTab
\vVertical Tab
\nnewline
\rreturn

반대문자

표현식설명
\D숫자가 아닌 문자열
\W문자 (숫자, 영문, 언더바) 를 제외한 모든 문자
\S공백문자 ( 탭, 줄바꿈, 스페이스)가 아닌 문자
\B문자와 공백사이가 아닌 값

Flags

/abc/ 두번째 슬래쉬 뒤에 플래그를 사용합니다

표현식설명
gglobal 매칭되는 모든 항목을 찾습니다
mmulti-line anchor ^ $ 를 라인별로 나눠서 찾는다 m 이 없으면 멀티 라인도 1개의 문자열로 생각하고 찾는다
iIgnore Case 대소문자를 구별하지 않습니다
ssingle line . 점을 newline 으로 생각하고 찾는다

Bracket 표현

표현식설명
[abc]a 또는 b 또는 c
[^a]a 가 아닌 모든 것
[a-c]a 또는 b 또는 c
[a-zA-Z0-9]a 부터 z, A 부터 Z, 0 부터 9 에 속한 것
[^a-zA-Z]영문이 아닌 문자
<.+><div> simple div</div>
<.+?><div> </div>
<[^<>]+><div> </div>

Lookahead Lookbehind

표현식설명
ab(?=c)c 가 뒤에 있는 ab 를 찾는다 (c 는 제외)
(?<=a)bca 가 앞에 있는 bc 를 찾는다 (a 는 제외)
ab(?!c)c 가 뒤에 없는 ab 를 찾는다
(?<!a)bca 가 앞에 없는 bc 를 찾는다

참고사이트

https://regex101.com/

https://regexper.com/


Uploaded by N2T

반응형

'IT > Frontend' 카테고리의 다른 글

환경변수설정  (0) 2022.09.20
테스트도구  (0) 2022.09.20
ESLint 규칙  (0) 2022.08.25
Vue.js 개발환경  (0) 2020.03.09
예제로 배우는 Vue.js  (0) 2020.03.05
프론트엔드 개발자를 위한 크롬 Extensions 과 Online Tools  (0) 2020.02.25
Our Next Web Framework is Vue  (0) 2020.02.13
AWS Lambda 를 이용한 Nuxt.js 프로젝트 구현  (0) 2019.12.03