Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

정규표현식/스터디/반복찾기: Difference between revisions

From ZeroWiki
imported>zeldababo
No edit summary
imported>zeldababo
No edit summary
Line 80: Line 80:
| +
| +
| +?
| +?
|-
| {n,}
| {n,}?
|}
|}
||{n,}||{n,}?||;


게으른 수량자란?? 한번 걸쳐진 범위는 제외하고 검색해준다. 그러므로 이걸 사용하면 과하게 일치하는 상황을 방지할수 있다.
게으른 수량자란?? 한번 걸쳐진 범위는 제외하고 검색해준다. 그러므로 이걸 사용하면 과하게 일치하는 상황을 방지할수 있다.

Revision as of 07:38, 27 October 2010

[[pagelist(^정규표현식/*)]]

몇 번 일치하는가 - 상호

구간 지정하기 - 승한

  • 구간은 중괄호로 표시한다. ({})
  • 필요성
    • +, *는 일치하는 문자수 제한이 없다. 최 몇개까지 일치하는지 정할 수 없다
    • +, *, ?가 일치하는 수의 최솟값은 0이나 1이다. 문자수의 최솟값을 명시적으로 정의 불가능.
    • 정확히 원하는 만큼만 일치하도록 문자수 못 정함
    • RGB 값은
#99FFAA

처럼 xdigit:가 정확하게 6번 나와야 한다.

정확한 반복 횟수

  • RGB
    • 기존 :
#[:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:]
    • 개선 :
#[:xdigit:]{6

}

반복 횟수 범위 설정

  • 날짜양식 :
\d{1,2}[-\/]\d{1,2}[-\/]\d{2,4

}

    • 하지만 날짜가 54/67/9999같은 날짜도 통과 시킨다.
    • 구간은 {0, 4} 처럼 0부터 시작할 수 있다.
(O) 4/8/03
(O) 10-6-2004
(X) 2/2/2
(O) 01-01-01

최소 반복 횟수 찾기

  • 주문이 100불 이상인 것 찾기 :
\d+: \$\d{2,}\.\d{2

}

{{|

1001: $496.80 1002: $1290.69 1003: $26.43 1004: $613.42 1005: $7.61 1006: $414.90 1007: $25.00 |}}

  • 결과
1001: $496.80
1002: $1290.69
1004: $613.42
1006: $414.90

과하게 일치하는 상황 방지하기 - 준석

물음표(?)는 제한된 범위만큼 일치시키고(없거나 하나만 있는 경우 일치한다), 구간을 쓰면 정확히 지정한 만큼 일치하거나 지정한 범위 안에서만 검색을 수행한다.


  • 예문
 AK and HI
  • 검색문
<[Bb]>.*[/Bb]>
이경우 검색되는 범위는  AK, HI,  AK and HI 세개가 일치되고 이것은 과하게 일치했다고 할수 있을것이다. 그럼 이렇게 중복되는것을 어떻게 방지할수 있을까? 위에서 말한 물음표(?)를 쓰면된다.
기본 수량자 게으른 수량자
* *?
+ +?
{n,} {n,}?

게으른 수량자란?? 한번 걸쳐진 범위는 제외하고 검색해준다. 그러므로 이걸 사용하면 과하게 일치하는 상황을 방지할수 있다.

  • 예문
 AK and HI
  • 정규 표현식
<[Bb]>.*[/Bb]>


이렇게 검색해야  AK, HI만을 검색해준다.

정리해보자 - 준석