반응형
정규식은 프로그래밍을 하다보면 반드시 접할 수 밖에 없다
Regular Expression
정규 표현식 또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.
기본표현
표현식 | 설명 |
---|---|
^The Start | 문자열이 The Start 로 시작합니다 |
The End$ | 문자열이 The End 로 끝납니다 |
start | start 가 들어있는 모든 문자열을 매칭합니다 |
문자수량
표현식 | 설명 |
---|---|
ab*c | 0개 이상의 b 를 포함한 문자 ac, abc, abbc, abbbc 등 |
ab+c | 1개 이상의 b 를 포함한 문자 abc, abbc, abbbc 등 |
ab?c | 0개 또는 1개의 b 를 포함한 문자 ac, abc |
ab{2}c | 2개의 b 를 포함한 문자 abbc |
ab{2,}c | 2개 이상의 b 를 포함한 문자 abbc, abbbc, abbbbc 등 |
ab{2,5}c | 2개 이상 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
문자
표현식 | 설명 |
---|---|
\d | 숫자 |
\w | 문자 (숫자, 영문, 언더바) |
\s | 공백문자 ( 탭, 줄바꿈, 스페이스) |
\b | 문자와 공백사이 |
\babc\b | abc 와 동일한 문자를 찾습니다 |
\Babc\B | 문자사이에 있는 abc 를 찾습니다. zabcdef |
. | 모든 문자 |
.bc | 임의의 문자 1개 후에 bc |
..bc | 임의의 문자 2개 후에 bc |
\^ | ^ |
\t | Tab |
\v | Vertical Tab |
\n | newline |
\r | return |
반대문자
Flags
/abc/ 두번째 슬래쉬 뒤에 플래그를 사용합니다
표현식 | 설명 |
---|---|
g | global 매칭되는 모든 항목을 찾습니다 |
m | multi-line anchor ^ $ 를 라인별로 나눠서 찾는다 m 이 없으면 멀티 라인도 1개의 문자열로 생각하고 찾는다 |
i | Ignore Case 대소문자를 구별하지 않습니다 |
s | single 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)bc | a 가 앞에 있는 bc 를 찾는다 (a 는 제외) |
ab(?!c) | c 가 뒤에 없는 ab 를 찾는다 |
(?<!a)bc | a 가 앞에 없는 bc 를 찾는다 |
참고사이트
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 |