자주 쓰이는 기본적인 정규표현식(Regex) 정리

2021. 4. 19. 15:00·Algorithms 💻
반응형

정규표현식 확인할 수 있는 사이트 regexr.com/5mhou
여기서 \는 back slash를 의미

code 의미 code 의미
gr(e|a)y  e또는 a로 이루어진 문자 gr[ead]y 대괄호 중 하나라도 만족하는 문자 찾기
[a-zA-z0-9] 모든 소문자, 대문자, 숫자를 모두 찾음 [^a-zA-z0-9] 뒤 집합을 제외한 나머지 것 (^)
gra?y 물음표 앞 a가 있거나 없는 경우 (zero or one) gra*y * 앞 a가 있거나, 없거나, 많거나를 찾음 (zero or more)
gra+y 하나 또는 많이, 없는 경우는 포함X (one or more) gra{2}y a가 두번나오는 경우만 선택
gra{2,3}y a가 최소 2번, 최대 3번 나오는 경우 선택 \bYa 맨 앞에서 쓰이는 Ya 
Ya\b 맨 뒤에서 쓰이는 Ya Ya\B 맨 뒤에서 쓰이지 않는 Ya만 골라오기
^Ya 문장에서 시작하는 Ya만 Ya$ 문장에서 끝나는 Ya만
. 텍스트 전체 선택 \. 온점 그 자체 선택
\d 숫자인 모든 것(digit) \D 숫자가 아닌 모든것
\w 모든 문자열 \W 문자가 아닌 모든 것
\s 모든 공백 \S 공백이 아닌 모든 것

 

활용 예시

1.  가운데가 스페이스, . , -로 구분되는 전화번호 추출 

출처 :  regexr.com/5mhou

\d는 모든 숫자라는 뜻, [. -]는 온점과 공백과 - 중에 하나라는 뜻!


2.  이메일 주소 전체 선택하기

출처 :  regexr.com/5mhou

모든 문자를 선택할 때는 \w가 아니라, 그냥 대괄호 안에 [a-zA-Z0-9.+-] 이렇게 등장해도 되는 특수문자까지 한번에 넣어주면 하나라도 있으면 선택하는게 되니까!! 그렇게해보쟈!!

대괄호 뒤에는 하나 이상 와야하므로 +를 붙여준다. 


3.  URL 중에서 특정 부분만 가져오기

출처 :  regexr.com/5mhou

특수문자 처리에는 항상 \ 앞에 붙여줄 것! ( / 이거 입력할 때 항상 \/ 이렇게!)
뒤 아이디만 선택하고 싶은 상황이므로 소괄호를 통해 grouping 한 뒤 ?: 를 통해 제외해준다!
http다음 s는 있어도 되고 없어도 되므로 ?를 붙여준다!

반응형
저작자표시 (새창열림)

'Algorithms 💻' 카테고리의 다른 글

[Project Euler] Problem 1 ~ 7번 알고리즘 풀이  (0) 2021.02.24
[알고리즘] - 선형배열(리스트 내 해당 원소의 인덱스 반환)  (0) 2020.12.30
[알고리즘] - 선형배열 (정렬된 리스트에 원소 삽입하기)  (0) 2020.12.30
'Algorithms 💻' 카테고리의 다른 글
  • [Project Euler] Problem 1 ~ 7번 알고리즘 풀이
  • [알고리즘] - 선형배열(리스트 내 해당 원소의 인덱스 반환)
  • [알고리즘] - 선형배열 (정렬된 리스트에 원소 삽입하기)
당니이
당니이
씩씩하게 공부하기 📚💻
  • 당니이
    다은이의 컴퓨터 공부
    당니이
  • 전체
    오늘
    어제
    • 분류 전체보기 (136)
      • Achieved 👩🏻 (14)
        • 생각들 (2)
        • TIL (6)
        • Trial and Error (1)
        • Inspiration ✨ (0)
        • 미국 박사 준비 🎓 (1)
      • Computer Vision💖 (39)
        • Basic (9)
        • Video (5)
        • Continual Learning (7)
        • Generative model (2)
        • Domain (DA & DG) (5)
        • Multimodal (8)
        • Multitask Learning (1)
        • Segmentation (1)
        • Colorization (1)
      • RL 🤖 (1)
      • Autonomous Driving 🚙 (11)
        • Geometry (4)
        • LiDAR 3D Detection (1)
        • Trajectory prediction (2)
        • Lane Detection (1)
        • HDmap (3)
      • Linux (15)
      • PyTorch👩🏻‍💻 (10)
      • Linear Algebra (2)
      • Python (5)
      • NLP (10)
        • Article 📑 (1)
      • Algorithms 💻 (22)
        • Basic (8)
        • BAEKJOON (8)
        • Programmers (2)
      • ML (1)
        • 통계적 머신러닝(20-2) (1)
      • SQL (3)
      • 기초금융 💵 (1)
  • 블로그 메뉴

    • 홈
    • About me
  • 링크

    • 나의 소박한 github
    • Naver 블로그
  • 공지사항

  • 인기 글

  • 태그

    CL
    Python
    리눅스
    NLP
    domain adaptation
    CV
    continual learning
    알고리즘
    백준
    백트래킹
    pytorch
    Incremental Learning
    코딩테스트
    LLM
    자료구조
    domain generalization
    til
    dfs
    Linux
    conda
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
당니이
자주 쓰이는 기본적인 정규표현식(Regex) 정리
상단으로

티스토리툴바