본문 바로가기

개발/JAVA

정규 표현 구문의 요약

반응형

정규 표현 구문의 요약

[\! "#\$%&'\(\)\*\+,\-\. /:;\<=\>\? @\[\\\]\^_`\{\|\}~] [\X21-\X2F\X31-\X40\X5B-\X60\X7B-\X7E] -->? [\]^{|} --></=\>

구문 매치 대상
 
캐릭터
x 캐릭터 x
\\ backslash 캐릭터
\0n 8 진치 0n 를 가지는 캐릭터 (0 <= n <= 7)
\0nn 8 진치 0nn 를 가지는 캐릭터 (0 <= n <= 7)
\0mnn 8 진치 0mnn 를 가지는 캐릭터 (0 <= m <= 3, 0 <= n <= 7)
\xhh 16 진치 0xhh 를 가지는 캐릭터
\uhhhh 16 진치 0xhhhh 를 가지는 캐릭터
\t 탭 캐릭터 ('\u0009')
\n 개행 캐릭터 ('\u000A')
\r 왕복대 리턴 캐릭터 ('\u000D')
\f 용지 보내 캐릭터 ('\u000C')
\a 경고 (벨) 캐릭터 ('\u0007')
\e 이스케이프 캐릭터 ('\u001B')
\cx x 에 대응하는 제어 캐릭터
 
캐릭터 클래스
[abc] a,b, 또는 c (단순 클래스)
[^abc] a,b,c 이외의 캐릭터 (부정)
[a-zA-Z] a ~ z 또는 A ~ Z (범위)
[a-d[m-p]] a ~ d, 또는 m ~ p: [a-dm-p] (결합)
[a-z&&[def]] d,e,f (교차)
[a-z&&[^bc]] bc 를 제외하는 a ~ z: [ad-z] (감산)
[a-z&&[^m-p]] m ~ p 를 제외하는 a ~ z: [a-lq-z] (감산)
 
정의 끝난 캐릭터 클래스
. 임의의 캐릭터 (줄 끝 기호와 성냥 하는 경우도 있다)
\d 숫자: [0-9]
\D 숫자 이외: [^0-9]
\s 공백 캐릭터: [ \t\n\x0B\f\r]
\S 비공백 캐릭터: [^\s]
\w 단어 구성 캐릭터: [a-zA-Z_0-9]
\W 비단어 캐릭터: [^\w]
 
POSIX 캐릭터 클래스 (US-ASCII 마셔)
\p{Lower} 소문자의 영문자: [a-z]
\p{Upper} 대문자의 영문자: [A-Z]
\p{ASCII} 모든 ASCII 캐릭터: [\x00-\x7F]
\p{Alpha} 영문자: [\p{Lower}\p{Upper}]
\p{Digit} 10 진수자: [0-9]
\p{Alnum} 영숫자: [\p{Alpha}\p{Digit}]
\p{Punct} 구두점 캐릭터: ! "#$%&'()*+,-. /:;<=>? @[\]^_`{|}~ 의 언젠가
\p{Graph} 표시할 수 있는 캐릭터: [\p{Alnum}\p{Punct}]
\p{Print} 프린트 가능 캐릭터: [\p{Graph}]
\p{Blank} 공백 또는 탭: [ \t]
\p{Cntrl} 제어 캐릭터: [\x00-\x1F\x7F]
\p{XDigit} 16 진수자: [0-9a-fA-F]
\p{Space} 공백 캐릭터: [ \t\n\x0B\f\r]
 
Unicode 블록과 카테고리의 클래스
\p{InGreek} 희랍어 블록의 캐릭터 (단순블록)
\p{Lu} 대문자 (단순카테고리)
\p{Sc} 통화 기호
\P{InGreek} 희랍어 블록 이외의 캐릭터 (부정)
[\p{L}&&[^\p{Lu}]]  대문자 이외의 캐릭터 (감산)
 
경계 정규 표현 엔진
^ 행의 선두
$ 행의 말미
\b 단어 경계
\B 비단어 경계
\A 입력의 선두
\G 전회의 성냥의 말미
\Z 마지막줄 끝 기호가 있는 경우는 그것을 제외한 입력의 말미
\z 입력의 말미
 
최장 일치 수량자
X? X, 1 회 또는 0 회
X* X, 0 회 이상
X+ X, 1 회 이상
X{n} X,n
X(n,} X,n 회이상
X{n,m} X,n 회이상,m 회이하
 
최단 일치 수량자
X?? X, 1 회 또는 0 회
X*? X, 0 회 이상
X+? X, 1 회 이상
X{n}? X,n
X(n,}? X,n 회이상
X{n,m}? X,n 회이상,m 회이하
 
탐욕인 수량자
X? + X, 1 또는 0 회
X*+ X, 0 회 이상
X++ X, 1 회 이상
X{n}+ X,n
X(n,}+ X,n 회이상
X{n,m}+ X,n 회이상,m 회이하
 
논리 연산자
XY X 의 직후에 Y
X|Y X 또는 Y
(X) X,전방 참조를 실시하는 정규 표현 그룹
 
전방 참조
\n 성냥 한 n 번째의전방 참조를 실시하는 정규 표현 그룹
 
인용
\ 정규 표현은 아니지만, 다음의 캐릭터를 이스케이프 한다
\Q 정규 표현은 아니지만,\E 까지의 모든 캐릭터를 이스케이프 한다
\E 정규 표현은 아니지만,\Q 로 개시된 인용을 이스케이프 한다
 
특수한 구문 (전방 참조를 실시하지 않는다)
(? :X) X,전방 참조를 실시하지 않는 정규 표현 그룹
(? idmsux-idmsux)   정규 표현은 아니지만, 매치 플래그의 온/오프를 바꾼다
(? idmsux-idmsux:X)   X, 지정된 플래그를 온/오프로 한전방 참조를 실시하지 않는 정규 표현 그룹
(? =X) X, 폭제로의 긍정 예측
(?!X) X, 폭제로의 부정 예측
(? <=X) X, 폭제로의 긍정 후 읽기
(? <! X) X, 폭제로의 부정 후 읽기
(? >X) X, 독립한전방 참조를 실시하지 않는 정규 표현 그룹
 
반응형

자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!