학습 사이트
https://opentutorials.org/course/909/5143
http://zvon.org/comp/r/tut-Regexp.html#Pages~Contents
^who => 문장의 시작부터 who를 검색 (^ : 캐럿)who$ => 문장의 끝부터 who를 검색\ => 백슬러쉬, 이스케이프 (엔터키 위)\^ => ^ 을 Page 3의 정규표현식 도구가 아닌 문자로 인식한다.\$ => $ 을 Page 3의 정규표현식 도구가 아닌 문자로 인식한다.. => 모든 문자(character) 1개를 나타낸다. (wildcard의 역할을 한다.)...... => 문자 6개를 나타낸다.\. => . 을 Page 5의 표현식이 아닌 문자로 인식한다.[] => 선택가능한 범위의 표현식[oyu] => o 또는 y 또는 u 인 문자 1개를 표현[dH]. => (d 또는 H 인 문자 1개 + any character 1개) 인 2자리 문자[C-K] => C에서 부터 K 까지의 범위 중에 문자 1개[CDEFGHIJK] => 위의 표현식과 같음[C-Ka-d2-6] => C - K 또는 a - d 또는 2 - 6, 3가지 범위 중 문자 1개[^] => 범위 표현식 내부의 ^ 은 not 을 의미[^W-Z] => W,X,Y,Z 을 제외한 문자 1개() => 문자열로 검색 (on|ues|rida) => 문자열 내부에서 'on' 또는 'ues' 또는 'rida'를 표현(Mon|Tues|Fri)day => 'Monday', 'Tuesday', 'Friday' 표현a* => a가 0,1,무한개를 나타냄a+ => a가 1,무한개를 나타냄a? => a가 0,1개를 나타냄.* => 모든 텍스트[-@]* => - 또는 @ 인 한 문자([-@])가 0 부터 무한개인 표현식\*+ => *가 1개 부터 무한대까지 표시-@+- => -로 시작하고 -로 끝나면서 사이에 @가 1개부터 여러개[^ ]+ => 공백이 아닌 표현이 1개 부터 무한대까지 표시-X?XX?X => -로 시작하고 X 앞에 X가 0 또는 1개가 2번 반복.{5} => - . 이 5개인 표현식[els]{1,3} => [els] 인 범위에서 최소 1개 최대 3개인 표현식[els]{3,} => [els] 인 범위에서 3개 이상* = {0,}+ = {1,}? = {0,1}*? = 0개를 의미+? = 1개를 의미?? = 0개를 의미 greedy // lazy
예시) <div> test1 </div><div> test2 </div>
greedy 수량자
탐색자) <div> .* </div> => 결과)<div> test1 </div><div> test2 </div>
lazy 수량자
탐색자) <div> .*? </div> => 결과)<div> test1 </div>
\w = [A-z0-9_] w=word\W = [^A-z0-9_]\s => 띄어쓰기 를 표현\S => 띄어쓰기 를 제외한 나머지를 표현\d = [0-9]\D => 숫자를 제외한 나머지를 표현\b. => 단어 하나에서 시작하는 . 표현 하나.\b => 단어 하나에서 끝나는 . 표현 하나cat concat\bcat => 결과)catcat\b => 결과)concat\B => \b 의 반대를 표현\B. => 문자열 하나에서 시작하는 . 하나 다음거를 표현 .\B => 문자열 하나에서 끝나는 . 하나 다음거를 표현\A... => 단락 시작의 문자 3개를 표현
...\Z => 단락 끝의 문자 3개를 표현
^... => 행마다 시작의 문자 3개를 표현
...$ => 행마다 끝의 문자 3개를 표현
\w+(?=X) => X 인 문자가 검색될때까지 표현하나 X는 표현하지 않음.