정규표현식(Regular Expression)

임동현·2022년 4월 12일
0

날이 갈수록 개인정보 보호에 관련하여 보안정책을 점진적으로 강화하고 있습니다. 이에따라 Web 에서 회원가입 시 password 설정을 복잡해진 보안정책에 맞추다 보니 복잡하게 조합해야만 정상적으로 가입할 수 있습니다. 이러한 강화된 보안정책 때문에 기존에 사용하던 자신만의 password를 인위적으로 보안적책에 맞추는 경우가 많을 것입니다. 그러다 보니,종종 Log-in 을 할때 password를 잊어버려서 곤란한 상황이 발생하는 경우도 한번쯤은 있었을 것입니다. 일반적으로 이렇게 복잡한 조건이 필요한 경우 사용자에게 입력을 받을 때 여러 가지 조건을 주면서 정해진 규칙 안에서만 입력을 하도록 유도를 하고있습니다. 이번 프로젝트를 진행하면서 사용자가 입력하여 DB에 형식에 맞도록 저장하기 위해 조건을 주는 부분이 있었는데, 간단하게 해결 하기 위해 정규식표현식 (Regular Expression)을 사용하였습니다. 이 글에서는 정규표현식을 실제로 사용하면서 필요한 정보들을 초보 개발자의 관점에서 해석하고 실제로 사용하는 과정을 담았습니다 .

정규표현식이란?

정규표현식의 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어 입니다. 주로 programming language 나 Text Editor 등 에서 문자열의 검색과 치환을 위한 용도로 쓰이고 있습니다 . 입력한 문자열에서 특정한 조건을 표현할 경우 일반적인 조건문으로는 다소 복잡할 수도 있지만 , 정규 표현식을 이용하면 매우 간단하게 표현할 수 있습니다. 하지만 코드가 간단한 만큼 가독성이 떨어져서 표현식을 숙지하지 않으면 이해하기 힘들다는 문제점이 있습니다.

정규표현식 표현방법

정규표현식은 표준인 POSIX 의 정규표현식과 POSIX 정규표현식에서 확장된 Perl 방식의 PCRE 가 대표적이며 ,이외에도 수많은 정규표현식이 존재하며 정규표현식간에는 약간의 차이점이 있으나 거의 비슷합니다. 정규표현식에서 사용하는 기호를 Meta 문자라고 합니다. Meta문자는 표현식 내부에서 특정한 의미를 갖는 문자를 말하며 ,공통적인 기본 Meta 문자의 종류로는 다음과 같습니다.

Meta 문자중에 독특한 성질을 지니는 문자 클래스 '[]' 라는 문자가 있습니다.
문자클래스는 그 내부에 해당하는 문자열의 범위 중 한 문자만 선택한다는 의미이며 , 문자클래스 내부에서는 Meta문자를 사용할 수 없거나 의미가 다르게 사용됩니다.

profile
프론트엔드 공부중

0개의 댓글