· 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
He who spends a storm beneath a tree, takes life with a grain of TNT.


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.0078 sec