본문 바로가기
728x90

IT 개발/정규식11

[정규식 마스터하기] Part 4: 앵커와 경계 1. 라인 앵커의 이해^ (캐럿) - 라인의 시작패턴: ^Hello설명: 라인이 "Hello"로 시작하는지 확인매칭:- "Hello World" (매칭)- "Say Hello" (비매칭)$ (달러) - 라인의 끝패턴: World$설명: 라인이 "World"로 끝나는지 확인매칭:- "Hello World" (매칭)- "World War" (비매칭)2. 단어 경계\b - 단어 경계패턴: \bcat\b설명: "cat"이라는 독립된 단어 매칭매칭:- "The cat is" (매칭)- "category" (비매칭)\B - 비단어 경계패턴: \Bcat설명: 단어 중간에 있는 "cat" 매칭매칭:- "category" (매칭)- "The cat" (비매칭)3. 멀티라인 모드 (m 플래그)멀티라인 모드 활성화패턴: /.. 2025. 2. 16.
[정규식 마스터하기] Part 3: 수량자와 반복 1. 기본 수량자 (*, +, ?)* (애스터리스크) - 0회 이상 반복패턴: ab*c설명: a로 시작하고 c로 끝나며, b는 0번 이상 반복될 수 있음매칭 예제:- "ac" (b가 0번)- "abc" (b가 1번)- "abbc" (b가 2번)- "abbbc" (b가 3번)+ (플러스) - 1회 이상 반복패턴: ab+c설명: a로 시작하고 c로 끝나며, b는 1번 이상 반복되어야 함매칭 예제:- "abc" (b가 1번)- "abbc" (b가 2번)- "abbbc" (b가 3번)비매칭:- "ac" (b가 없음)? (물음표) - 0회 또는 1회패턴: ab?c설명: a로 시작하고 c로 끝나며, b는 있어도 되고 없어도 됨매칭 예제:- "ac" (b가 없음)- "abc" (b가 1번)비매칭:- "abbc" (b.. 2025. 2. 15.
[정규식 마스터하기] Part 2: 기본 패턴과 문자 클래스 1. 리터럴 문자 매칭일반 문자 매칭영문자, 숫자, 언더스코어는 그대로 매칭대소문자 구분공백 문자도 리터럴로 처리예제pattern: hello매칭: "hello"비매칭: "Hello", "HELLO"2. 메타문자의 이해주요 메타문자. : 줄바꿈을 제외한 모든 문자\ : 이스케이프 문자^ : 행의 시작$ : 행의 끝* : 0회 이상 반복+ : 1회 이상 반복? : 0회 또는 1회| : 또는메타문자 예제패턴: c.t매칭: "cat", "cut", "c@t"비매칭: "ct", "cant"패턴: ^dog매칭: "dog starts the line"비매칭: "the dog is here"3. 문자 클래스 []기본 문자 클래스[abc] - a, b, 또는 c[0-9] - 모든 숫자[a-z] - 모든 소문.. 2025. 2. 14.
[정규식 마스터하기] Part 1: 정규식 기초와 소개 1. 정규식이란 무엇인가?정규식(Regular Expression)은 문자열을 처리하기 위한 패턴 매칭 언어입니다. 복잡한 문자열 검색, 추출, 치환 작업을 간단한 패턴으로 해결할 수 있게 해주는 강력한 도구입니다.정규식의 핵심 개념패턴 매칭: 특정 규칙을 가진 문자열을 찾아내는 방법문자열 조작: 찾아낸 문자열을 변경하거나 추출하는 기능유연한 검색: 정확한 매칭부터 패턴 기반 매칭까지 다양한 검색 방식 지원2. 정규식의 역사와 중요성역사적 발전 과정1950년대: 수학자 Stephen Cole Kleene에 의해 정규 언어 이론 개발1960년대: Ken Thompson의 QED 에디터에서 최초 구현1970년대: Unix의 grep 도구를 통한 대중화현대: 거의 모든 프로그래밍 언어에서 지원현대적 중요성데이.. 2025. 2. 13.
[정규식 마스터하기] 10부작 시리즈 오늘부터 정규식 마스터하기 시리즈를 작성할 예정입니다. Part 1: 정규식 기초와 소개정규식이란 무엇인가?정규식의 역사와 중요성정규식을 사용하는 주요 프로그래밍 언어와 도구기본 문자열 매칭의 개념정규식 테스트 도구 소개Part 2: 기본 패턴과 문자 클래스리터럴 문자 매칭메타문자의 이해문자 클래스 [] 사용법범위 지정자 (-) 활용부정 문자 클래스 [^]자주 사용되는 문자 클래스 패턴Part 3: 수량자와 반복기본 수량자 (*, +, ?)중괄호를 사용한 정확한 반복 횟수 지정게으른(lazy) 수량자 vs 탐욕적(greedy) 수량자효율적인 반복 패턴 작성법실제 사용 사례와 예제Part 4: 앵커와 경계라인 앵커 (^, $)단어 경계 (\b, \B)문장의 시작과 끝 찾기멀티라인 모드 활용경계를 활용한 정.. 2025. 2. 12.
728x90