자주 쓰이는 정규표현식

December 23, 2021 · 3 mins read

자주 쓰이는 정규표현식

알아두면 유용하게 써먹는 정규표현식


정규표현식 이란?

정규표현식의 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다. 주로 프로그래밍 랭귀지나 텍스트 에디터 등에서 문자열의 검색과 치환을 위한 용도로 쓰이고 있는데, 입력한 문자열에서 특정한 조건을 표현할 경우 일반적인 조건문으로는 다소 복잡할 수도 있지만, 정규표현식을 이용하면 매우 간단하게 표현할 수 있다.

이런 경우를 떠올려보자! 누군가 특정 서비스에 회원가입을 한다고 했을 때 필수적으로 요구되는 정보가 몇 가지 있다. 아이디, 패스워드, 이메일, 전화번호 주소 뭐 이런 필요한 정보들을 입력 받고, 그 입력 받은 정보들의 유효성을 체크하기 위해 우리는 정규표현식을 사용한다. 만약 정규표현식 없이! 이러한 회원가입 폼 로직을 짜야 한다면 어마어마한 if문이 탄생하고 말테다.

마케팅

거기에, 개인정보가 중요시 되어 아주 복잡한 구조의 비밀번호를 요구하는 현대사회의 패스워드 조건식을 if문으로 만든다면 생각만 해도 엄청 까마득 하다.

이럴 때! 우리 정규표현식을 이용해서 매우 간단하게 표현 할수가 있다! 하지만 코드가 간단한 만큼 가독성이 떨어져서 표현식을 숙지하지 않으면 이해하기 힘들다는 문제점이 있고, 언어마다 사용방법이 조금씩 다르기도 하다.

이번 시간에는 자바스크립트에서 사용되는 정규표현식에 대해서 알아보도록 하자.

마케팅 응? 이거 외계어 아니냐고? 거부감이 드는게 당연하다. 마치 우리집 고양이가 타이핑 한 것 처럼 보인다.

마케팅

그럼에도 불구하고 우리는 정규표현식을 꼭 써야 하는데 이유는 아래와 같다.

정규식을 사용해야 하는 상황.

-각각 다른 포맷으로 저장된 엄청나게 많은 전화번호 데이터를 추출해야 할 때
-사용자가 입력한 이메일, 휴대폰 번호, IP 주소 등이 올바른지 검증하고 싶을 때
-코드에서 특정 변수의 이름을 치환하고 싶지만, 해당 변수의 이름을 포함하고 있는 함수는 제외하고 싶을 때
-특정 조건과 위치에 따라서 문자열에 포함된 공백이나 특수문자를 제거하고 싶을 때

요약해서 살펴보면 정규표현식은 곧 검색과 치환이라는 두개의 카테고리로 나뉘어져 있음을 알수 있다.

즉 정규표현식이 제공하는 강력하고 유연하며 효율적인 문자열 처리 방법을 통해 우리의 시간과 노력을 절감할 수가 있다.

마케팅

정규표현식 생성 방법에 대해 알아보자.


1) 리터럴 방식

var regex = /abc/; 문자열 양쪽을 슬래시 (/)로 감싸는 방식. 만약 정규식이 상수라면, 이렇게 사용하는 것이 성능을 향상시킬 수 있다.

2) 객체 생성자 방식

var regex = new RegExp (“abc”); RegExp 생성자에 매개변수로 패턴을 선언하는 방식. 정규식의 패턴이 변경될 수 있거나, 사용자 입력과 같이 다른 출처로부터 패턴을 가져와야 하는 경우에 사용한다.

다음으로 정규표현식 메소드에 대해 알아보자.

마케팅

눈으로만 익히지 말고 콘솔창을 통해 몇 가지 입력해보기로 하자! 마케팅

이번엔 정규표현식 플래그 (고급검색)를 공부할 차례이다. 마케팅

이번에도 역시 콘솔창을 통한 간단한 실습으로 숙지해보도록 하자! 마케팅

자 마지막으로 정규표현식 패턴 – 정규식의 꽃인 표현식에 대해 알아보자.

1) Group and range

마케팅

2) Quantifiers

마케팅

3) Boundary-type

마케팅

4) Chracter classes

마케팅

위의 표현식은 regexr 이라는 사이트에서 연습하는것을 추천한다.

마지막으로 자주 쓰이는 정규표현식 문법을 정리해 두었으니 상황에 따라 용도에 맞는 정규식을 찾아서 활용하면 편리하다. 마케팅 마케팅


comments powered by Disqus