53 - [오토핫키] 정규식 패턴표

    정규식은 기본적으로 대소문자를 구분합니다. 또한 오토핫키에서 특수문자를 그대로 출력하기 위해 ` (악센트)를 사용했다면 정규식 내에서는 \ (역슬래시)를 사용합니다. 따라서 \.*?+[{\(^$ 등 특수문자 앞에는 역사선을 써줘야 합니다.

    참고로 인터넷 소스 등을 파싱하다 보면 "http://secretgd.tistory.com" 처럼 " (겹따옴표)로 둘러싸인 URL등을 사용 할때는  ""http://secretgd.tistory.com"" 이렇게 이중으로 감싸주면 정상적으로 인식하게 됩니다.

     

    옵션

    정규식 맨 앞에 옵션을 지정하고 반괄호를 닫습니다. 예) "i)a" 대소문자를 구분하지 않고 a, A를 찾습니다.

     

    i

    대소문자를 구분하지 않습니다

    m

    하나의 긴 줄이 아닌 여러줄의 집단으로 인식합니다.

    "D" 옵션은 "m"이 있으면 무시됩니다.

    s

    DotAll. 마침표가 모든 문자에 일치합니다.

    x

    문자 부류로 피신시키지 않은 공백을 무시합니다.

    A

    Haystack의 시작에 패턴을 고정합니다.

    D

    $ (달러)를 강제로 Haystack의 맨 끝에 잡아줍니다.

    J

    이름붙인 부패턴의 중복을 허용합니다.

    U

    비탐욕적이 됩니다.

    X

    PCRE 틍징을 활성화 합니다.

    P

    위치 모드. RegExMatch()가 Mode 2 로 변경 됩니다.

    S

    패턴의 수행성능을 향상 시킵니다. 

    C

    callout 모드를 켭니다.

    `n

    단독 라인으로 변경합니다.

    `r

    단독 캐리지 리턴으로 변경합니다.

    `a

    어떤 종류의 새줄이던 모두 인식합니다.

     

    패턴

    .

    점은 문자 하나를 인식합니다.

    *

    별표는 0개 이상의 이전 문자, 부류, 부패턴을 인식합니다.

    ?

    물은표는 0개 이상의 이전 문자, 부류, 부패턴을 선택적으로 인식합니다.

    +

    덧셈은 1개 이상의 이전 문자, 부류, 부패턴을 인식합니다.

    {min,max}

    이전 문자, 부류, 부패턴을 최소 min회, 최대 max회를 인식합니다.

    [...]

    부류 : 문자의 범위를 나타냅니다.

    [a-z] a~z까지 알파벳을 인식합니다.

    [0-9] 숫자를 인식합니다.

    [^...]

    부류에 없는 문자를 인식합니다.

    \d

    숫자 하나를 인식합니다. \D는 숫자가 아닌 문자 하나를 인식합니다.

    \s

    공백을 인식합니다. 스페이스, 탭, 엔터를 인식합니다.

    \S는 공백이 아닌 문자를 인식합니다.

    \w

    단어, 숫자, 밑줄문자를 인식합니다. [a-zA-Z0-9_]와 같음

    \W는 단어가 아닌 문자를 인식합니다.

    ^ 혹은 $

    닻(anchors)로 표현하며 문자를 소비하지 않습니다.

    ^ 는 패턴의 맨 앞이 일치해야 인식합니다.

    $는 패턴의 맨 뒤가 일치해야 인식합니다.

    \b

    단어 경계를 의미하며 문자를 소비하지 않습니다.

    (...)

    부패턴 : 패턴 내에 부패턴을 인식합니다.

    RegExMatch()에서 부패턴의 값을 출력 배열로 얻을 수 있으며 RegExReplace()에서는 $1처럼 역참조로 부패턴의 값을 얻을 수 있습니다.

    etc

    특수문자. \t (탭) \n (엔터) 등등.

    (*UCP)

    유니코드 특성을 사용합니다.

     

     

     

     

     

     

    Posted by 옹봉이