본문 바로가기
힘 있는 글쓰기/정리 연습장

[프로그래머스] 정규표현식

by 해적거북 2022. 1. 19.
728x90

프로그래머스 - 정규표현식 강의


\ → 역슬래시

 

1. \d

  • 숫자를 대표하는 정규표현식 (digit)
  • 한글자만 찾는다

 

 

2. +

  • 하나 이상의 연결된

(예시)
\d+
하나 이상의 연결된 숫자

 

 

3. *

  • 0개 이상이다

(예시)

[1-9]\d*
자연수를 표현

 

 

4. ?

  • 있거나 없거나

(예시)

-?
-가 있거나 없거나

 

[- ]?
-또는 공백이 있거나 없다는 조건

 

 

5. {숫자}

  • "숫자"번 반복한다

(예시)

\d{2}
숫자가 연속 2번 나온다

 

 

6. {숫자1, 숫자2}

  • 숫자1부터 숫자2까지 반복한다

(예시)

\d{2,3}
숫자가 2~3번 반복하여 나온다

 

 

7. \w

  • 글자를 대표하는 정규표현식
  • a, b, c, 가, 나, 다, 1, 2, 특수문자는 미포함 but _(언더스코어)는 포함

 

 

8. [aeiou]

대괄호 안에 글자만 선택하여 추출

 

 

9. [a-z]

  • a에서 z까지 글자만을 모두 선택

(예시)
[a-z]+

연속된 영어소문자 찾기

 

 

10. [가-힣]

  • 한글만 골라내기
  • 이 방식으로 ㄱㄴㄷ, ㅏㅑㅓㅕ 같은 낱글자를 찾을 수 없음

 

 

11. 기타 대표문자

  • \s
    • 공백 문자(스페이스, 탭, 뉴라인)
  • \S
    • 공백 문자를 제외한 문자
  • \D
    • 숫자를 제외한 문자
  • \W
    • 글자 대표 문자를 제외한 글자들(특수문자, 공백 등)

 

12. Java, C#

  • \ 대신 \\ 를 적어야함
  • python은 raw string을 지원해 대표 문자를 표현할 때 역슬래시를 한번만 쓸 수 있다
  • Java, C#에서는 escape 때문에 역슬래시를 사용해 역슬래시를 두번 적어야 한다.

 

 

13. 전화번호를 찾는 정규표현식

  • \d{2,3}[- ]?\d{3,4}[- ]?\d{4}
  • 해당하는 테스트케이스
    • 025559999
    • 02-555-9999
    • 010 5555 9999

 


 

728x90

댓글