U E D R , A S I H C RSS

정규표현�/스터디/반복찾기

1. 몇 번 �치하는가 - �호

2. 구간 지정하기 - 승한

  • 구간ì�€ 중괄호로 표시한다. ({})
  • 필요성
    • +, *는 ì�¼ì¹˜í•˜ëŠ” 문ìž�수 제한ì�´ 없다. 최 몇개까지 ì�¼ì¹˜í•˜ëŠ”ì§€ ì •í•  수 없다
    • +, *, ?ê°€ ì�¼ì¹˜í•˜ëŠ” 수ì�˜ 최솟값ì�€ 0ì�´ë‚˜ 1ì�´ë‹¤. 문ìž�수ì�˜ 최솟값ì�„ 명시ì �으로 ì •ì�˜ 불가능.
    • 정확히 ì›�하는 ë§Œí�¼ë§Œ ì�¼ì¹˜í•˜ë�„ë¡� 문ìž�수 못 정함
      • RGB ê°’ì�€ #99FFAA 처럼 [:xdigit:]ê°€ 정확하게 6번 나와야 한다.

2.1. 정확한 반복 횟수

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

2.2. 반복 횟수 범위 설정

  • 날짜양ì‹� : \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

2.3. 최소 반복 횟수 찾기

  • 주문ì�´ 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

3. 과하게 �치하는 �황 방지하기 - 준�

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


  • 예문

    <B> AK</B> and <B>HI</B>

  • 검색문

    <[Bb]>.*[/Bb]>

    �경우 검색�는 범위는 <B> AK</B>, <B>HI</B>, <B> AK</B> and <B>HI</B> 세개가 �치�고 �것� 과하게 �치했다고 할수 있�것�다. 그럼 �렇게 중복�는것� 어떻게 방지할수 있�까? 위�서 �한 물�표(?)를 쓰면�다.

기본 수량�게으른 수량�
**?
++?
{n,}{n,}?|

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

  • 예문

    <B> AK</B> and <B>HI</B>

  • ì •ê·œ 표현ì‹�
    <[Bb]>.*[/Bb]>


    �렇게 검색해야 <B> AK</B>, <B>HI</B>만� 검색해준다.

4. 정리해보� - 준�


�제 슬슬 정규표현�� 진짜 �미가 들어난다. 정규 표현 패턴� 사용하여 반복찾기를 하면 �제 까지 배워온 것� �용해 구간으로 정확하게 �하는 문�를 찾아낼수 있�것�다.

�장�서는

문� �미
+ 하나 �� �치
* 없거나 하나 �� 있는경우 �치
? 없거나 하나� 경우 �치(붙여서 쓴다)
{n,n} n개부터 n개 까지 범위지정

다�� �용한다면 반복찾기 정규표현�� 중복� 방지할수있는 강력한 �구로 만들수 있�것�다
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:44
Processing time 0.0068 sec