수량자
{~~~}: 중괄호 안에 있는 값이 수량을 의미한다.
ex) '*'는 {0,}과 같다.
'+'는 {1,}과 같다.
'?'는 {0,1}과 같다.
*?: '*'뒤에 '?'가 오면, 수량자 0을 의미한다.
ex) One ring to bring them all and in the darkness bind them
r.*? --->>> 'r' 하나만을 가리킨다.
결과 First match: r
All matches: r, r, r, r ~~
+?: '+'뒤에 '?'가 오면, 수량자 1을 의미한다.
r.+? --->>> 'r'과 'r'뒤에 문자 하나를 같이 가리킨다.
결과 First match: ri
All matches: ri, ri, rk
??: '?'뒤에 '?'가 오면, 수량자 0을 의미한다.
r.?? --->>> 'r'하나만을 가리킨다.
탐욕적인 수량자(Greedy quantifier)
ex) <div>test</div><div>test2</div>
<div>.+</div> --->>> <div>test</div><div>test2</div> 모두 선택된다.
이렇게 맨 앞의 <div>와 맨 뒤의 </div>사이에 있는 모든 게 선택되는 것을
탐욕적인 수량자라고 한다.
게으른 수량자(Lazy quantifier)
<div>.+?</div> --->>> <div>test</div> 만 선택된다.
이렇게 맨 앞의 <div>와 처음으로 나타난 </div>까지 선택되는 것을
게르은 수량자라고 한다.
Character class
ex) A1 B2 c3 d_4 e:5 ffGG88--__--
\w --->>> 알파벳, 숫자, 언더라인('_')을 가리킨다
(\w를 'word'라고 부름)
결과 First match: A
All matches: A1, B2, c3~~~
\w* --->>> word를 0개 or 1개 or 2개 이상을 가리킨다.
결과 First match: A1
All matches: A1, B2, c3, ~~~
[a-z]\w* --->>> word앞에 a~z중 하나가 오는 것을 가리킨다.
결과 First match: c3
All matches: c3, d_4, e, ffGG88
[A-z0-9_] --->>> \w와 같다.
\W --->>> 대문자 'W'는 word의 반대를 가리킨다.
(공백, 특수문자, '.', ',' 등)
\d --->>> 0~9까지의 숫자를 가리킨다.
\D --->>> 소문자 'd'의 반대 즉, 숫자가 아닌 것을 가리킨다.
ex) Ere iron was b
\b: 어떠한 단어를 식별할 수 있다.
\b\w --->>> word가 시작되는 곳을 가리킨다.
결과 First match: E
All matches: E, i, w, b
\w\b --->>> word가 끝나는 곳을 가리킨다.
결과 First match: e
All matches: e, n, s, b
\b\w\b --->>> 단어가 하나인 것을 가리킨다.
결과 First match: b
ex) cat concat
\bcat --->>> 앞에 있는 'cat'을 가리킨다.
cat\b --->>> 뒤에 있는 'cat'을 가리킨다.
\A: 시작점을 의미한다.
\A.. --->>> 앞에 있는 'ca'을 가리킨다.
\Z: 제일 뒤에 있는 경계를 의미한다.
..\Z --->>> 뒤에 있는 'at'를 가리킨다.
Assertions
ex) AAAX----aaax---111---BBBXCCC
\w+(?=X) --->>> word가 1개 or 1개 이상이어야 하고,
옵션으로 대문자 'X' 앞까지 선택하라는 의미.
'?='는 특수기호이다.
문자열을 검색하는 데 'X'를 쓰지만, 선택할 때는 'X'를 제외.
결과 First match: AAA
All matches: AAA, BBB
\w+(?=\w) --->>> word가 1개 or 1개 이상이어야 하고,
옵션으로 word가 아닌 문자가 있을 경우,
word가 아닌 문자 앞에 있는 word를 기준으로,
해당 기준까지 선택하라는 의미(기준을 선택되지 않음)
결과 First match: AAA
('AAAX-'에서 'X'뒤에 '-'가 word가 아닌 문자이다.
'-'의 앞 문자인 'X'를 기준으로 해당 기준까지 선택되고
'X'는 선택을 받지 못한다.)
All matches: AAA, aaa, 11, BBBXCC
2016년 1월 18일 월요일
피드 구독하기:
댓글 (Atom)
결혼이민비자 신청방법(F-6-1 국민의 배우자)
제가 일본인 여자친구와 결혼 후, 한국에 귀국하기 위해 신청한 결혼이민비자에 대하여 작성해보도록 하겠습니다. 필자는 일본에서 근무하고 있었으며, 한국에서의 소득은 없었습니다. 결혼이민비자를 신청한 날짜는 2021-04-21 이며, 사증이 발급된 날짜...
-
MySQL 8.0.21 소스를 컴파일 하여 설치하는 방법에 대해 알아보자. 설치 환경 CentOS 7.6(64 bit) 선행 작업 1. 유저 및 그룹 생성 # 그룹 생성 groupadd mysql # 유저 생성 # options means # -M:...
-
리눅스에서 외부로부터 접속(접근)을 차단해보자. 방법은 두 가지가 있다. 1. route 2. iptables route란, 간단하게 말하면 "구글"에 들어갈 때 경로를 정해주는 역할이라고 정의할 수 있다....
-
MySQL을 이중화 하는 대표적인 MMM과 MHA 차이에 대해서 알아보도록 하자. 가장 큰 차이점은 MMM(Multi-Master Replication Manager For MySQL)는 데이터 정합성이 보장되지 않을 수 있고, MHA(MHA fo...
댓글 없음:
댓글 쓰기