정규표현식

UYeong·2021년 8월 12일
0

TIL

목록 보기
1/2

정규표현식

Regex(Regular Expression)

텍스트에서 특정한 패턴의 텍스트를 찾을때나 유효성검사를 할때 많이 쓴다. ex) 전화번호, 이메일, 비밀번호 등
찾은뒤에는 해당텍스트를 변경하는 것도 가능하다.

기본

/(식)/ : 양쪽에 슬래쉬를 써서 정규표현식이란것을 나타내고,
/(문자 or 패턴등을 씀)/ : 그 사이에 문자나 패턴을 넣어서 원하는 문자를 찾는 것이다.

Flag

/(식)/ : 마직막 슬래쉬 뒤에 원하는 Flag 옵션을 넣어준다.

  • g : 전체에서 찾는다.(global)
  • m : 전체를 문장단위로 나눠준다.(multiline)
  • i : 대소문자를 구별하지않도록 한다.(case insensitive)

그룹과 범위

  • | : 또는

  • () : 괄호 안에 것을 찾고, 그룹만들기.

  • (?:) : 괄호 안에 것을 찾지만, 그룹은 해제.

  • [] : 대괄호안에 들어있는 문자면 그 문자를 모두 찾아준다.
    + [abc] === (a|b|c)
    + [a-c] === [abc]
    + [a-zA-Z0-9] : a~z , A~Z , 0~9 를 모두 찾아준다.
    + [-*.] : 문자 -,*,. 을 찾아준다.

  • [^] : 대괄호안에 들어있는 문자빼고 모두 찾는다.

한정

  • ? : 해당문자가 없거나 있는 것을 찾는다.

  • * : 해당문자가 없거나 있거나 많은 것을 찾는다.

  • + : 해당문자가 있거나 많은것을 찾는다.

  • {n} : n개 있는 것 찾아준다.

  • {min,} : 최소개 있는 것 찾아준다.

  • {min,max} : 최소개, 그리고 최대개 있는 것 찾아준다.

경계

  • \b : 원하는 "단어"의 처음과 끝부분에 위치시켜 첫부분에 넣으면 첫부분만 찾고, - 끝부분에 넣으면 끝부분만 찾는다.

  • \B : \b 의 반대

  • ^ : 원하는 "문장"의 첫부분에 넣으면 첫부분만 찾는다.

  • $ : 원하는 "문장"의 끝부분에 넣으면 끝부분만 찾는다.

특정문자

  • . : 빈줄을 제외한 전체를 선택해준다.

  • \ : 특수문자를 문자로 찾기위해 쓴다

  • + \. => 문자 . 를 찾는다.

  • + \[ => 문자 [ 를 찾는다.

  • \d : 숫자를 찾아준다 (digit의 약자)

  • \D : 숫자가 아닌 문자를 찾아준다.

  • \w : 특수문자를 제외한 문자를 찾아준다.(word의 약자)

  • \W : 특수문자를 찾아준다.

  • \s : 띄워쓰기를 한곳을 찾아준다.(space의 약자)

  • \S : 띄워쓰기를 제외한 문자를 찾아준다.


연습해보기

https://regexr.com/
https://regexr.com/5mhou

1. 전화번호만 골라주는 패턴 만들어보기

/\d{2,3}[-*.]\d{3,4}[-*.]\d{4,}/gm

2. 이메일만 골라주는 패턴 만들어보기

/[a-zA-Z0-9.-_]+[@][a-zA-Z0-9-_]+\.[a-zA-Z0-9.-_]+/gm






참고자료

https://regexone.com/
https://github.com/dream-ellie/regex

profile
Create the brilliant service for the world

0개의 댓글