Study

정규 표현식

Clearing 2022. 7. 24. 01:08
728x90

정규표현식은 편집기의 패턴 매칭을 시작으로 사용되었으며 grep 명령어에 사용하게 되며 발전하였다.

이후 vi, emacs 같은 편집기나 sed, awk 같은 유닉스 명령어에 추가되었으며 IDE와 여러

프로그래밍 언어의 표준 라이브러리로 지정되었다.

 

정규 표현식은 특정 패턴을 가지고 문자열을 찾을 수 있기 때문에 예를 들어 전화번호를 입력받아야 하는

경우와 같이 여러 조건문이 들어가야 하는 상황에 정규 표현식만을 사용하여 문제를 해결할 수 있다.

 

정규표현식은 크게 메타문자와 수량자로 이루어져 있어 다음과 같은 형식으로 사용된다.

ex) 패턴구분자 시작 + 작성할 패턴 + 패턴 구분자 끝 + 패턴 변경자

                 /               +        패턴      +             /           +          g

 

메타 문자 (문자를 나타내는 문자)

.: 모든 문자

[]: 대괄호 안에 들어가 있는 문자를 찾음, 대괄호 안에서 ^는 not을 의미

|: or

\s: 공백

\d: [0-9]

\w: 영문자, 숫자, 밑줄[0-9a-zA-z_]

 

수량자 (앞 문자의 개수)

?: 앞 문자가 없거나 하나 있음 ex) {0,1}

+: 앞 문자가 하나 이상 ex) {1, }

*: 앞 문자가 0개 이상임 ex) {0, }

{n, m}: 앞 문자가 n개 이상, m개 이하

{n, }: 앞 문자가 n개 이상, 위의 형태에서 m이 생략된 형태

{n}: 앞 문자가 n개

 

정규표현식의 장점으로는 패턴으로 검증이 가능하기 때문에 조건문을 많이 사용하지 않아도 되지만

단점으로는 표현이 길어지면 가독성이 좋지 않기 때문에 유지보수에 불리함이 생길 수 있다.

때문에 간단한 검증일 때는 메서드를 통한 조건문을 사용하여 가독성을 높이고

복잡한 검증일 때에 정규표현식을 사용하고 주석을 달아 가독성을 높이주는 것이 좋다.

 

 

출처)

https://www.youtube.com/watch?v=CjoDIgDOHA4&t=3s 

 

728x90

'Study' 카테고리의 다른 글

프론트엔드에서 Component란  (0) 2022.07.25
웹 접근성과 표준  (0) 2022.07.24
OOP(객체지향 프로그래밍) (2)  (0) 2022.07.11
제네릭(Generics)  (0) 2022.07.10
애자일 소프트웨어 개발(Agile Software Development)  (0) 2022.07.09