정규표현식을 알아보자

sanghun Lee·2021년 3월 9일
0

Today I Learned

목록 보기
64/66

모든 저작권은 드림코딩 by엘리에게 있습니다. 공부를 위한 참고용 포스트 입니다.

텍스트에서 필요한 형태의 패턴을 찾을 때 사용이 된다.

Email, Pw의 유효성 검사에서도 사용된다.

slash를 이용하여 정규표현식을 나타내고 그 안에 패턴을 적고 flag를 이용한 옵션을 준다.

/regex?/i
  1. Groups & Ranges
| : 또는
() : 그룹
[]: 문자셋, 괄호안의 어떤 문자 든
[^]: 부정 문자셋, 괄호안의 어떤 문자가 아닐 때
(?:) 찾지만 기억하지는 않음 -> 쓰면 그룹이 지정되는게 풀린다

1.1 그룹을 이용한 찾는 방식

1.2 (?:)를 이용한 방식

1.3 부정문자셋과 대괄호 사용

-> a~z와 A-Z와 0~9에 해당하는 것을 제외한 모든 것을 찾게됨.

2.Quantifiers

?: 없거나 있거나
*: 없거나 있거나 많거나
{n}: n번 반복
{min, }: 최소
{min,max}: 최소, 그리고 최대

2.1 ?를 사용

-> a 다음 y가 존재하거나 존재하지 않거나의 케이스를 찾아 줌
2.2 {min, max?} 활용

-> gra다음 최소 두가지 최대 3가지가 나오고 y가 들어가는 케이스에 대해 찾음

  1. Boundary-type
\b: 단어경계
\B: 단어경계가 아님
^: 문장의 시작
$: 문장의 끝

3.1 $를 활용

-> 문장의 끝에 해당하는 Ya를 검색하게 됨.

  1. Character classes
\:특수문자가 아닌 문자
. 어떤 글자(줄바꿈 문자 제외)
\d: digit 숫자
\w: word 문자
\s: space공백
\S: space공백 아님

4.1 특수문자 '[]'를 찾기위해 '\' 를 활용하는 방법

  1. 휴대폰 번호 찾기

5.1 혼자시도

휴대폰 번호라서 010 은 박아놓고 들어올 케이스들이 -, ,.뿐이어서 그냥 수량으로 해결했다 ..


-> 가장 쉬운 것 부터 접근하라고 하셨다

1. \d\d\d-\d\d\d-\d\d\d\d
2. \d{2,3}-\d{3}-\d{4}
3. \d{2,3}[- .]\d{3}[- .]\d{4}

5.2 이메일 찾기

5.2.1 혼자시도

최소값만 지정해주고 다 붙여버렸다.
실제로는 이렇게 쓰면 큰일날듯 ㅎㅅㅎ..

5.2.2 쉽게쉽게 .. + 를 활용하기

6.youtube에서 특정 id값만 찾아내기

?:를 활용하여 제외케이스를 만들어서 그룹에서 제외하기

  1. 숫자 콤마찍기
const numb = (x) => {
  
  let regEx = /\B(?=(\d{3})+(?!\d))/g;
  let madeString = String(x).replace(regEx,",");
  
  return madeString;
  
}
console.log(numb(1000));
profile
알고리즘 풀이를 담은 블로그입니다.

0개의 댓글