-
정규 표현식 정리프로그래밍 언어/Spring 2023. 11. 29. 18:05더보기
해당 글은 필자가 공부한 내용을 이해를 위해 정리한 것입니다. 전문성이나 정확성 다소 부족할 수 있습니다.
정규표현식이란?
규칙을 가진 문자열의 집합을 표현하는데 사용되는 언어입니다.
정규표현식이 나타나게된 이유?
사람은 텍스트를 의미를 가진 문자열로 인식할 수 있습니다. 예를 들면, 사람이 010-1234-5678나 123456-1234567 같은 문자열을 보면 바로 전화번호나 주민등록번호임을 유추할 수 있습니다. 하지만, 컴퓨터의 입장에서는 두 문자열 모두 의미없는 문자열일 뿐 입니다. 현대에서는 막대한 양의 데이터들을 고도화해야 하기때문에 이런 정보들을 일일히 사람들이 처리하기는 매우 어려운 일입니다. 그래서 나타난게 정규표현식입니다. 정규표현식을 사용하면 컴퓨터에게는 의미없는 문자열을 유용한 데이터로 구분할 수 있게 합니다.
정규표현식을 사용해야하는 이유?
컴퓨터에게 텍스트의 규칙에 따라 유용한 정보를 손쉽게 뽑아오게 만들기 위해서는 정규표현식을 꼭 사용해야합니다. 유용성이나 편의성 면에서 사람들이 직접 작업하는 것보다 기계가 작업하는 것이 훨씬 빠르고 정확하기 때문입니다.
정규표현식의 문법
정규표현식의 문법은 크게 3가지로 구분됩니다.
1. 문자: 문자와 숫자를 구분하듯 문자 종류를 구분합니다.
2. 어설션: 행이나 단어의 시작과 끝을 구분합니다.
3. 수량자: 일치시킬 문자 또는 표현식의 수를 의미합니다.
1. 문자 클래스
정규식 패턴 설명 패턴 종류 예제 \\w 문자만 허용 (a-z, A-Z, 0-9, …) ^[\\w]*$ \\W 문자가 아닌 경우에만 허용 ! (a-z, A-Z, 0-9, …) ^[\\W]*$ \\d 숫자만 허용 (0-9) ^[\\d]*$ \\D 숫자가 아닌 경우에만 허용 ! (0-9) ^[\\D]*$ \\s 공백 문자, 탭만을 허용 (space, tabe, newline) ^[\\s]*$ \\S 공백 문자, 탭이 아닌 경우만 허용 ! (space, tabe, newline) ^[\\S]*$ 2. 어설션(assertion)
정규식 패턴 설명 예제 ^ 문장의 시작(특정 문자열로 시작) ^www $ 문장의 끝(특정 문자열로 끝) ^com$ 3. 수량자
정규식 패턴 설명 ? 있거나 없거나 (zero or one) * 있거나 없거나 많거나 (zero or more) + 하나 또는 많이 (one or more) {n} n만큼 있거나 {min,} 적어도 min만큼 있거나 {min, max} 적어도 min보다 많고 max보다 적거나 정규표현식의 클래스와 메서드
JAVA에서 정규표현식을 작성하기 위해서는 java.util.regex 패키지를 불러오면됩니다. 주로 Patteren 클래스와 Matcher 클래스가 사용됩니다.
1. Pattern 클래스: matches()메서드를 지원합니다. 어떤 문자열이 설정한 정규식에 매칭되는지 확인할 수 있습니다.
2. Mather 클래스: 문자열의 패턴을 해석하고 주어진 패턴과 일치하는지 체크할 때 사용됩니다.
아래 사이트에서 정규표현식을 연습해봅시다.
RegExr: Learn, Build, & Test RegEx
RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
regexr.com
RegexOne - Learn Regular Expressions - Lesson 1: An Introduction, and the ABCs
Regular expressions are extremely useful in extracting information from text such as code, log files, spreadsheets, or even documents. And while there is a lot of theory behind formal languages, the following lessons and examples will explore the more prac
regexone.com
참고한 블로그
https://adjh54.tistory.com/104
[Java] 정규표현식(RegExp) 이해하기 : 패턴, 문자 클래스, 자주 사용 패턴
해당 글의 목적은 주요 정규식 조작함수를 이해하고 예제를 통한 이해를 돕기 위해 작성한 글입니다. 해당 글에서는 모든 함수에 대해서는 포함하고 있지 않으며 자주 사용되는 함수 위주로 작
adjh54.tistory.com
[Java] 정규표현식 사용법 및 예제 - Pattern, Matcher
자바에서 정규표현식(Regular Expression)'을 사용해보자. 1. 정규표현식(Regular Expression) 정규표현식 혹은 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용되는 언어다. 정규 표현식은
hbase.tistory.com
정규 표현식이란? 개념과 공부 방법에 대해 알려 드립니다.
정규 표현식의 정의 문자열의 규칙을 찾아서 정규 표현식(Regular Expression)이란 특정한 규칙을 가진 문자열의 집합을 다루는 데 사용하는 형식 언어입니다. 다양한 프로그래밍 언어에서 문자열의
kevinitcoding.tistory.com
'프로그래밍 언어 > Spring' 카테고리의 다른 글
분산 추적에 대해 파헤치기 (0) 2024.08.07 API 게이트 웨이에 대해 파헤치기 (0) 2024.08.06 1대N, N대1, N대M 관계에 대해 알아보자 (1) 2023.11.20 Spring MVC 간단 정리 (1) 2023.11.20 (2023-11-08 TIL) IoC와 DI에 대하여 (0) 2023.11.08