ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정규표현식 정리
    개발 공부 2022. 3. 13. 16:50
    • 대괄호[] : [] 는 안에 있는 문자중 하나를 의미. ex) [abcd] : a, b, c, d 중 하나, [a-zA-Z]알파뱃 소문자나 대문자 중 하나
    • \d : 숫자를 대표하는 정규표현식. d 는 digital 을 의미
    • \w : 글자를 대표하는 정규표현식. 문자, 숫자 포함. 특수문자는 포함하지 않음(단, _(언더바)는 글자로 포함됨)
    • + : 하나 혹은 그 이상 연결됨을 뜻 함. ex) \d+ : 하나 혹은 그 이상 연결된 숫자를 의미
    • * : 0개 이상 : ex) \d* : 숫자가 0개 이상을 의미. [1-9]\d* : 1~9 까지의 자연수 표현
    • {숫자} : 숫자번 반복 함을 뜻 함. ex) \d{2} : 숫자가 연속 두 번 나옴
    • {숫자1, 숫자2} : 숫자1 부터 숫자2 까지 반복함을 뜻 함. ex) \w{2, 3} : 문자가 2 ~ 3번 나옴
    • ? : 있을수도 없을수도 있음을 뜻 함. ex) -? : - 가 있거나 없다를 뜻 함.
    •                                                       ex) \d+-?\d+-?\d+ : 공백 없이 - 로 연결된 전화번호를 찾음. 불완전한 표현식
    •                                                       ex) \d+[- ]?\d+[- ]?\d+ : 공백있는 전화번호까지 찾음. 불완전한 표현식
    •                                                       ex) \d{2,3}[- ]?\d{3,4}[- ]?\d{4} : 전화번호 형식까지 맞춰진 것만 찾음. 제대로 된 표현식
    • \s : 공백 문자(스페이스, 탭, 뉴라인)
    • \S : 공백 문자를 제외한 문자
    • \D : 숫자를 제외한 문자
    • \W : 글자를 제외한 글자들(특수문자, 공백 등)
    • 영어 소문자 찾기 : [a-z]
    • 영어 소문자 단어찾기 : [a-z]+
    • 한글 단어 찾기 : [가-힣]+

     

    자바에서 정규표현식 다루기 : Pattern 클래스와 Matcher 클래스를 이용함

                                                 \ 대신 \\ 를 적어야 함(자바에서는 escape 를 역슬래시로 하기때문에 \\를 두 번 써야함).

    Pattern pattern = Pattern.compile("\\d");
    Matcher matcher = pattern.matcher(searchTarget);
    while(matcher.find()){
        System.out.println(matcher.group(0));
    }

    C# 도 마찬가지로 역슬래시를 두 번 써야함. C# 은 Regex.matches 라는 메소드 사용.

    string regex = "\\d"
    foreach (Match m in Regex.Matches(searchTarget, regex)){
                Console.WriteLine(m.Value);
            }

     

    자바스크립트 정규표현식 : g는 global의 약자로, 정규표현식과 일치하는 모든 내용을 찾아오라는 옵션

    var regex = /\d/g;
    console.log(searchTarget.match(regex));

    댓글

Designed by Tistory.