베하~ 반갑습니다!!
인사통의 BTC_김회장, 최총무입니다!!
오늘은 정규표현식에 대해서 간단히 알아보고
예시를 통해 설명드리는 시간을 가질거에요~
간단히 개념부터 알려드리겠습니다!!
정규표현식이란?
정규표현식에 대해 들어보셨나요?
정규 표현식은 입력된 문자열이 특정 조건을 표현할 경우 매우 간단하게 표현할 수 있는 형식 언어입니다!
이렇게 말해도 감이 잘 안오실수도 있는데요..
핵심은 문자열 패턴을 정해진 표현식에 맞게 처리하는 작업이라고 볼 수 있습니다!
구조가 복잡하기 때문에 처음 작성하는데는 어려움이 있을 수 있지만
작성해두면 자동화된 시스템을 구축하는데 큰 도움이 됩니다!!
정규 표현식에 대해 알기 위해서는 메타 문자에 대해 꼭 알아야 합니다!!함께 진행해볼까요?
메타 문자
메타 문자는 정규 표현식에서 특별한 의미를 가진 문자들이라고 생각하시면 됩니다!
평소에 사용하던 기호들도 정규 표현식 내부에서는 다른 의미를 가질 수 있으니 주의해야 합니다.
간단히 예를 들자면 * 기호의 경우 프로그래밍에서 일반적으로 "모든것" 이라는 의미로 쓰죠?
하지만 정규 표현식에서는 *문자 앞에 나오는 문자 또는 식이 0개 이상 나타난다는 뜻이에요!!
특히나 문자 클래스는 대괄호 '[]' 안에 문자들을 나열하여 생성하는데요
이런 경우 내부 클래서에 따라 의미가 달라질 수 있습니다.
[a-z] : 소문자 'a'부터 'z'까지 중 하나와 일치
[^abc] : 'a','b','c'를 제외한 모든 문자와 일치
[a-zA-Z0-9] : 소문자, 대문자, 숫자 중 하나와 일치
뭔가 알것 같으면서도 새롭죠?
이외에도 백슬래시를 활용한 클래스를 활용하는 경우도 많습니다.
'\W' : 알파벳 문자, 숫자, 밑줄(_)이 아닌 모든 문자와 일치
'\S' : 공백이 아닌 모든 문자와 일치
각자 필요에 따라서 문서를 찾아봐야 겠죠?
이전 표현식에 대해서 잘 정리되어 있는 문서가 있으니 함께 남겨드리겠습니다!
글자만 보면 이해가 잘 안되시죠?
간단히 예시를 들어 설명드리자면
전화번호 형식을 확인하기 위해서 아주 아래처럼 쓸 수 있겠습니다.
^\d{3}-\d{4}-\d{4}$
digit이니 숫자가 들어가고 대시(-)를 활용하여 구분한 3자리-4자리-4자리 의 패턴이겠죠?
만약 010으로 시작을 고정해야 한다면 ^010-?\d{4}-?\d{4}$ 로 지정해주면 되겠습니다!
그러면 여기까지 정규 표현식에 대해 알아보았습니다.
예시를 보니 훨씬 이해가 빠르죠?
오늘은 메타 문자만 사용해봤지만 차차 옵션을 늘려가보자구요
다음 시간에는 여기에 추가로 검색 패턴에 추가 옵션을 제공하는 플래그를 함께 배워보겠습니다!
그럼 다음시간까지 베빠!!
'Programming' 카테고리의 다른 글
정규표현식 플래그 활용 (0) | 2024.02.23 |
---|---|
java Exception 전파 (0) | 2024.02.08 |
[Mybatis] For input string 에러 (1) | 2024.01.17 |
HTTP 상태 코드 정리 (2) | 2024.01.13 |
Spring Boot Model validation 관련 애노테이션 (0) | 2024.01.12 |
댓글