· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
pung96

작성중인 문서

참고 페이지

3. MEMO

4. Perl Pattern Matching

4.1. 요약

  • Pattern
    . 임의의 글자에 매치(\n을 매치하렴 /s사용)
    (...) 그룹을 묶는다
    ^$ 문장의 시작(^)과 끝($). cf) /m
    [...] []안에 열거된 글자중 한글자 cf)반대는 [^]
    (..|..|..) |로 구분된 패턴중 하나에 매치
    (?#TEXT)
    (?:REGEXP)
    (?=REGEXP)
    (?!REGEXP)
    (MODIFIER)

  • Quantifier
    +
    ?
    *
    {n,m}
    +? *?

    \w \W Word(\w) == 0-9a-zA-Z_. \W==^\w
    \s \S
    \d \D
    \A
    \b
    \G
    \n \r \f \t

  • Back reference
    \1 \2 .. \9

  • Special Var
    $1..$9
    $+
    $&
    $'
    $`
  • 패턴매칭 변경자
    /i 대소문자 무시
    /x 공백을 무시하고 comment(#)을 허용한다
    /g 전역 매치,치환(가능한한 최대한 적용된다)
    /gc 매치에 실패했을때 검색 지점을 초기화 하지 않는다
    /s .에 \n이 매치되도록하고 $*는 무시한다
    /m ^와 $가 \n다음에 매치되도록 한다
    /o 패턴을 한번만 컴파일
    /e s///오른쪽을 eval
    /ee s/// 오른쪽을 eval처리하고 결과를 한번더 eval

4.2. 패턴매칭 변경자

  • /i : 대소문자를 구별하지 않고 매칭을 한다. use locale 가 설정되어 있으면 locale설정을 반영한다. 속도가 다소 느려진다는 단점이 있다
  • /g
    • s///g 모든 매치에 대해 치환 작업을 수행.
    • m//g : 발생하는 모든 매치를 찾는다 단 겹치지 않는 매치만을 찾아내므로 겹치는 모든 매치를 찾아내려면 (?=)을 사용해야한다.
      @array = m/(\d\d\d)/g;
      @array = m/(?=(\d\d\d))/g;
      

5. Perl Function

@sorted = sort @list;
@sorted = sort { $a <=> $b } @list; # 숫자 정렬
@sorted = sort { $a cmp $b } @list; # 문자열 정렬
@sorted = sort { EXPR } @list;
  • =$a<=>$b= : =<=>= 는 숫자비교연산자. 오름차순 정렬은 =$b<=>$a=
  • $a 와 $b는 전역패키지 변수로 할당된다.
  • 서브루틴을 이용한 정렬
@sorted = sort { compare() } @list;

ID
Password
Join
If you always postpone pleasure you will never have it. Quit work and play for once!


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-02-18 16:39:03
Processing time 0.0092 sec