728x90
반응형
1. 정규 표현식 개요
- 정규 표현식 (RE): 텍스트 내에서 특정 패턴을 찾기 위한 문자 집합을 정의하는 공식입니다. 주로 텍스트에서 특정 규칙을 가진 문자열을 추출할 때 사용합니다.
- 활용:
- 데이터 전처리에서 불필요한 부분을 제거하거나 필요한 정보를 추출할 때 유용합니다.
- 예를 들어, 이메일 주소나 전화번호를 추출하는 데 자주 사용됩니다.
2. 메타 문자와 기본 문법
(1) 메타 문자 (Meta-characters)
메타 문자는 문자 자체가 아닌 특정 기능을 표현하기 위해 사용되는 문자들입니다.
- []: 대괄호 안의 문자들 중 하나와 매칭.
- [abc]: 텍스트에서 'a', 'b', 'c' 중 하나라도 포함하는 경우를 찾습니다.
- [A-Za-z]: 대문자와 소문자 모든 알파벳을 의미합니다.
- [0-9]: 모든 숫자를 의미합니다.
- ^: 문자열의 시작을 의미합니다.
- ^abc: 문자열이 'abc'로 시작해야 합니다.
- $: 문자열의 끝을 의미합니다.
- xyz$: 문자열이 'xyz'로 끝나야 합니다.
- |: OR 연산자 역할을 합니다.
- a | b: 'a' 또는 'b'가 포함된 문자열과 매칭됩니다.
- .: 아무 문자 하나와 매칭 (단, 줄바꿈 문자는 제외).
- a.c: 'a'와 'c' 사이에 어떤 문자가 오든 상관없는 경우와 매칭됩니다. 예: 'abc', 'a_c'.
- ****: 이스케이프 문자로, 특수 문자를 일반 문자로 인식하게 합니다.
- \.: 마침표 자체를 찾기 위해 사용.
(2) 수량자 (Quantifiers)
수량자는 문자가 몇 번 반복되는지를 나타내는 역할을 합니다.
- +: 1회 이상 반복될 경우와 매칭합니다.
- bo+: 'b' 다음에 'o'가 1회 이상 오는 경우 ('bo', 'boo' 등).
- *: 0회 이상 반복될 경우와 매칭합니다.
- bo*: 'b' 다음에 'o'가 없거나 여러 번 오는 경우 ('b', 'bo', 'boo' 등).
- ?: 0회 또는 1회 있을 경우와 매칭합니다.
- do?g: 'd' 다음에 'g' 또는 'dg'와 매칭됩니다.
- {}: 반복 횟수를 명시합니다.
- {n}: 정확히 n회 반복.
- \d{3}: 숫자가 정확히 3번 나오는 경우와 매칭 (예: '123').
- {n, m}: 최소 n번, 최대 m번 반복.
- \d{2,4}: 숫자가 최소 2번, 최대 4번 나오는 경우 (예: '12', '123', '1234').
- {n}: 정확히 n회 반복.
3. POSIX 표준 문법
- POSIX 표준은 정규 표현식의 표준 규칙을 정의합니다.
- 예를 들어, **[:digit:]**은 숫자, **[:alpha:]**는 알파벳과 매칭됩니다.
- 이 문법은 보다 가독성이 좋은 형태로 문자 집합을 정의하는 데 도움을 줍니다.
4. Python에서 정규 표현식 사용
Python에서 정규 표현식을 사용하기 위해 re 모듈을 이용합니다.
- 주요 함수:
- re.match(pattern, string): 문자열의 처음부터 패턴과 매칭되는지 확인합니다.
- re.search(pattern, string): 문자열 전체에서 패턴과 매칭되는지 확인합니다.
- re.findall(pattern, string): 패턴과 매칭되는 모든 부분을 리스트로 반환합니다.
- re.sub(pattern, replace, text): 매칭된 패턴을 다른 문자열로 대체합니다.
728x90
반응형
'소셜네트워크' 카테고리의 다른 글
[소셜네트워크] 언어 모델과 평가에 대해서 (0) | 2024.11.11 |
---|---|
[소셜네트워크] 감성 분석(Sentiment Analysis)에 대하여 (4) | 2024.11.09 |
[소셜네트워크] 자연어 처리 #2 (0) | 2024.10.23 |
[소셜네트워크] 자연어 처리 #1 (1) | 2024.10.23 |
[소셜네트워크] 연결성&중심성에 대하여 (0) | 2024.10.23 |