티스토리 뷰
re.group() 함수는 검색된 패턴에서 일치하는 항목을 가져오는 데 사용된다. 이 함수는 정규식과 일치하는 문자열의 일부를 추출하는 데 사용할 수 있다. 예시를 살펴보자.
- 기본 사용법
import re # Compile a pattern and search in the string pattern = re.compile(r'\d+') # Matches one or more digits match = pattern.search('The price is 123 dollars.') # Use group to get the matched string if match: print(match.group()) # Output: 123
- 괄호를 사용해 일치하는 문자열 중 특정 문자열 접근
import re text = "John's phone number is 123-456-7890." pattern = re.compile(r'(\d{3})-(\d{3})-(\d{4})') match = pattern.search(text) if match: print("Full match:", match.group()) # Output: 123-456-7890 print("Area code:", match.group(1)) # Output: 123 print("Prefix:", match.group(2)) # Output: 456 print("Line number:", match.group(3)) # Output: 7890
- 이름을 활용한 접근
import re text = "John's phone number is 123-456-7890." pattern = re.compile(r'(?P<area>\d{3})-(?P<prefix>\d{3})-(?P<line>\d{4})') match = pattern.search(text) if match: print("Full match:", match.group()) # Output: 123-456-7890 print("Area code:", match.group('area')) # Output: 123 print("Prefix:", match.group('prefix')) # Output: 456 print("Line number:", match.group('line')) # Output: 7890
re.group() 의 인덱스는 1부터 시작된다는 점에 유의해야 한다. 또한 패턴 내에 두 개 이상의 regex가 존재하지만 일치하는 문자열을 찾지 못했을 경우 'None' 혹은 "" (empty string, 빈 문자열)이 할당된다. 'None'이 할당되는 경우는 '\w+' 처럼 '+'를 통해 1개 이상이 일치했을 때 할당되며, "" (empty string, 빈 문자열)은 '\w*' 처럼 '*'를 사용해 0개 이상의 일치를 찾을 때 할당된다. (다른 방법으로 해석하자면 '*'를 사용해 찾는다는 것은 일치하는 것이 0개라도 일단 일치한다고 인식하는 걸로 이해해도 된다.
참고
반응형
'기술(Tech, IT) > 파이썬(Python)' 카테고리의 다른 글
[Tech, Python] main method (0) | 2024.03.15 |
---|---|
[Tech, Python] \b (정규식) (0) | 2024.03.14 |
[Tech, Python] re.compile() (0) | 2024.03.08 |
[Tech, Python] re.escape (0) | 2024.03.02 |
[Python] raw strings (0) | 2024.01.07 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- The Economist
- Hash Map
- Computer Graphics
- tf-idf
- 안드로이드
- DICTIONARY
- java
- ml
- Python
- 머신 러닝
- 투 포인터
- 파이썬
- 티스토리챌린지
- I2C
- min heap
- 이코노미스트
- vertex shader
- C++
- leetcode
- The Economist Espresso
- join
- 이코노미스트 에스프레소
- 소켓 프로그래밍
- defaultdict
- 리트코드
- socket programming
- 딕셔너리
- 오블완
- Android
- machine learning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함
반응형