반응형
re.search
는 파이썬의 re
모듈에서 제공하는 함수 중 하나로, 주어진 문자열에서 정규 표현식 패턴과 일치하는 첫 번째 부분 문자열을 찾습니다. re.search
는 패턴이 문자열의 어느 위치에서든 일치하는지를 검색하며, 일치하는 부분이 있으면 re.Match
객체를 반환하고, 없으면 None
을 반환합니다.
1. re.search
사용법
import re
result = re.search(pattern, string, flags=0)
pattern
: 정규 표현식 패턴입니다.string
: 검색할 문자열입니다.flags
: 선택적 인수로, 정규 표현식의 동작을 수정하는 플래그입니다.
2. 플래그
re.IGNORECASE
또는re.I
: 대소문자를 구분하지 않습니다.re.MULTILINE
또는re.M
: 여러 줄 모드.^
및$
가 각 줄의 시작과 끝을 의미하게 됩니다.re.DOTALL
또는re.S
: 점(.
)이 개행 문자(\n
)도 포함하도록 합니다.
3. 예제
다양한 re.search
사용 예제를 통해 이 함수를 알아보겠습니다.
기본 예제
import re
# 예제 문자열
string = "Hello, my name is John. I live in New York."
# 정규 표현식 패턴
pattern = r"name is (\w+)"
# re.search를 사용하여 일치하는 부분 찾기
match = re.search(pattern, string)
if match:
print("Match found!")
print("Full match:", match.group()) # 전체 일치
print("Captured group:", match.group(1)) # 첫 번째 캡처 그룹
else:
print("No match found.")
Match found!
Full match: name is John
Captured group: John
플래그 사용 예제
import re
# 예제 문자열
string = "Hello, my name is John. I live in new york."
# 정규 표현식 패턴
pattern = r"new york"
# re.search를 사용하여 일치하는 부분 찾기 (대소문자 무시)
match = re.search(pattern, string, re.IGNORECASE)
if match:
print("Match found!")
print("Full match:", match.group())
else:
print("No match found.")
Match found!
Full match: new york
여러 줄 검색 예제
import re
# 예제 문자열
string = """Hello, my name is John.
I live in New York."""
# 정규 표현식 패턴
pattern = r"^I live"
# re.search를 사용하여 일치하는 부분 찾기 (여러 줄 모드)
match = re.search(pattern, string, re.MULTILINE)
if match:
print("Match found!")
print("Full match:", match.group())
else:
print("No match found.")
Match found!
Full match: I live
이 예제들은 re.search
함수를 사용하여 문자열에서 정규 표현식 패턴과 일치하는 부분을 찾는 방법을 보여줍니다. 플래그를 사용하여 대소문자 구분을 무시하거나 여러 줄 모드를 사용할 수도 있습니다. re.search
는 첫 번째 일치 항목만 반환하기 때문에, 모든 일치 항목을 찾으려면 re.findall
또는 re.finditer
를 사용할 수 있습니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] re.findall()과 group() 메서드 사용하기 (0) | 2024.07.21 |
---|---|
[ Python ] re.findall() 사용하기 (0) | 2024.07.21 |
[ Python ] re.match() 사용하기 (전화번호) (0) | 2024.07.21 |
[ Python ] 정규 표현식에서 패턴 수량자에 대해서 알아보기 (0) | 2024.07.21 |
[ Python ] 정규 표현식의 모든 메타 문자의 사용 예제 (1) | 2024.07.21 |