Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Java
- 고전역학
- lombok
- 소프트웨어공학
- 파이썬
- NIO
- 시스템
- 리눅스
- GIT
- write by chatGPT
- 자바네트워크
- oracle
- 뉴턴역학
- 코틀린
- JVM
- 유닉스
- kotlin
- 자바암호
- flet
- 자바
- chatGPT's answer
- Spring boot
- python
- GPT-4's answer
- 웹 크롤링
- write by GPT-4
- Database
- android
- 역학
- 인프라
Archives
- Today
- Total
Akashic Records
7.3 정규 표현식 본문
728x90
파이썬에서 정규 표현식(regular expression)을 사용하려면 re 모듈을 사용합니다. 정규 표현식은 문자열을 검색, 치환, 분리하는 데 사용되는 강력한 패턴 매칭 도구입니다.
다음은 re 모듈의 주요 기능과 예시 코드입니다.
1. search: 문자열에서 정규 표현식과 일치하는 부분을 검색합니다.
import re
pattern = r'\d+' # 숫자를 찾는 정규 표현식
text = "My phone number is 123-456-7890."
match = re.search(pattern, text)
if match:
print("Found:", match.group()) # Found: 123
else:
print("Not found")
2. findall: 문자열에서 정규 표현식과 일치하는 모든 부분을 리스트로 반환합니다.
import re
pattern = r'\d+'
text = "I have 2 apples, 3 bananas, and 10 oranges."
matches = re.findall(pattern, text)
print(matches) # ['2', '3', '10']
3. split: 정규 표현식을 기준으로 문자열을 분리합니다.
import re
pattern = r'\s+' # 공백 문자를 찾는 정규 표현식
text = "I love Python"
words = re.split(pattern, text)
print(words) # ['I', 'love', 'Python']
4. sub: 문자열에서 정규 표현식과 일치하는 부분을 다른 문자열로 치환합니다.
import re
pattern = r'\d+'
text = "I have 2 apples, 3 bananas, and 10 oranges."
replaced_text = re.sub(pattern, 'N', text)
print(replaced_text) # I have N apples, N bananas, and N oranges.
5. match: 문자열 시작 부분에서 정규 표현식과 일치하는지 확인합니다.
import re
pattern = r'Hello'
text1 = "Hello, how are you?"
text2 = "Hi, Hello there!"
match1 = re.match(pattern, text1)
match2 = re.match(pattern, text2)
if match1:
print("Match1:", match1.group()) # Match1: Hello
else:
print("Not found in text1")
if match2:
print("Match2:", match2.group())
else:
print("Not found in text2") # Not found in text2
6. finditer: 문자열에서 정규 표현식과 일치하는 모든 부분을 반복자로 반환합니다.
import re
pattern = r'\d+'
text = "I have 2 apples, 3 bananas, and 10 oranges."
matches = re.finditer(pattern, text)
for match in matches:
print("Found:", match.group()) # Found: 2, Found: 3, Found: 10
정규 표현식 패턴을 미리 컴파일하여 반복적인 검색에 사용할 수 있습니다.
import re
pattern = re.compile(r'\d+')
text1 = "My phone number is 123-456-7890."
text2 = "I have 2 apples, 3 bananas, and 10 oranges."
match1 = pattern.search(text1)
matches2 = pattern.findall(text2)
print("Match1:", match1.group()) # Match1: 123
print("Matches2:", matches2) # Matches2: ['2', '3', '10']
정규 표현식은 문자열 처리에서 매우 강력한 도구로, 다양한 패턴을 사용하여 복잡한 문자열 검색 및 처리 작업을 수행할 수 있습니다. re 모듈을 이용해 정규 표현식을 사용하면 복잡한 문자열을 더 쉽게 다룰 수 있습니다. 기능과 사용법을 더 자세히 알아보려면 파이썬 공식 문서를 참조하세요.
728x90
'Python for Beginners' 카테고리의 다른 글
7.5 기타 유용한 라이브러리 (0) | 2023.03.23 |
---|---|
7.4 로깅 (0) | 2023.03.23 |
7.2 수학 함수 (0) | 2023.03.23 |
7.1 시간과 날짜 (0) | 2023.03.23 |
6.3 디버깅 기술 (0) | 2023.03.21 |
Comments