-
정규표현식 패턴 - 정규표현식 | 생활코딩INFO/WEB 2021. 10. 8. 18:12반응형
※ 예제 설명
정규표현식 === 소스 첫 매치 모두 매치
위치
^
: 캐럿 뒤에 나오는 패턴이 소스 상에서 시작 위치에 있을 때만 매치
^who === who is who
&
: 달러 앞에 나오는 패턴이 소스 상에서 끝 위치에 있을 때만 매치
who$ === who is who
이스케이핑
\
: 백슬래시 뒤에 나오는 문자를 정규표현식에서 의미가 있는 문법적 요소(^, $, 등)가 아닌 일반 문자로 변환
^\$ === $12-$13
*escape(이스케이프) : 코드 상에서 어떤 역할로부터 탈출(해제) 시켜 준다.
모든 문자
.
: 모든 문자(≒character)를 매치
.... === test of point
특정 문자
[]
: 스퀘어 브라켓(대괄호) 안에 있는 문자 중 일치하는 문자 하나를 매치
[oyu] === How do you do?
[dH]. === How do you do?
[owy][yow] === How do you do?-
: 대시 앞에 나오는 문자부터 대쉬 뒤에 나오는 문자까지의 범위
[C-F] === ABCDEFGH
^
: 스퀘어 브라켓 안에서의 캐럿은 부정의 의미
[^C-F] === ABCDEFGH
서브 패턴
()
: 퍼렌씨시스(소괄호) 안에 파이프(수직선)로 분리한 문자 중 일치하는 문자를 매치
(on|ues|rida) === Monday Tuesday Friday
수량자
*
: 아스테리스크(별표) 앞에 나오는 패턴이 있을 수도 있고 없을 수도 있는 것을 의미 (0개 ~ 여러개) ≒ {0,}
a*b === aab abc bc
[-@]* === -@- *** -- *** -@-+
: 플러스(더하기) 앞에 나오는 패턴이 하나 이상 있음을 의미 (1개 ~ 여러개) ≒ {1,}
a+b === aab abc bc
[^ ] === -@- *** -- *** -@-?
: 퀘션(물음표) 앞에 나오는 패턴이 없거나 하나인 경우를 의미 (0개 ~ 1개) ≒ {0,1}
a?b === aab abc bc
-@?@?@?- === X--X-@-XX-@@@@-XX-@@-XX{}
: 브레이스(중괄호) 안에 있는 숫자만큼 브레이스 앞에 있는 패턴을 매치
[els]{5} === the darkness bind them
[els]{2,3} === them all darkness
[a-z]{3,} === One ring to bring // {3,} 은 3개 이상 매치* 콤마(쉼표)로 매칭되는 개수의 범위를 정한다. 예를 들어 {1, 3} 은 1개에서 3개까지 매치
※ 수량자(*, +, ?) 뒤에 ?가 있을 경우 해당 수량자의 최소값으로 매치
r.*? === One ring to bring // 0개 매치
r.+? === One ring to bring // 1개 매치
r.?? === One ring to bring // 0개 매치※ 탐욕적 vs 게으른 수량자
<div>.+<\/div> === <div>text</div> <div>text2</div> // .+ 는 탐욕적 선택자
<div>.+?<\/div> === <div>text</div> <div>text2</div> // .+? 는 게으른 선택자경계
\w
: word(단어) 를 매체
[a-z]\w* === A1 B2 c3 d_4 e:5 ffGG77--__--
반응형'INFO > WEB' 카테고리의 다른 글
Cross-site Scripting(XSS) (0) 2022.09.27 도메인 (domain) - 인터넷 기본 도메인 , 호스트, 포워딩 알아보기 | 생활코딩 (0) 2022.03.17 VSCODE 에서 PHP 개발 환경 구축 with XAMPP | 친절한 직장인K씨 (0) 2021.08.12 [JSP] JSTL 정리 | ye050425 (0) 2020.11.11 2020 디자인 트렌드 (1) 2020.06.10