[python] 정규표현식을 이용한 영문자와 특수문자 검색
정규표현식(Regular Expression)은 문자열에서 패턴을 검색하거나 대체하는 데 사용되는 강력한 도구입니다. Python에서는 re
모듈을 사용하여 정규표현식을 처리할 수 있습니다. 이번 포스트에서는 영문자와 특수문자를 검색하는 간단한 예제를 살펴보겠습니다.
코드 예제
import re
def find_characters(string):
pattern = r'[a-zA-Z_]+'
result = re.findall(pattern, string)
return result
def find_special_chars(string):
pattern = r'[^a-zA-Z0-9_]+'
result = re.findall(pattern, string)
return result
text = "Hello, #Python! What's up?!"
print("영문자:", find_characters(text))
print("특수문자:", find_special_chars(text))
코드 설명
위 코드는 문자열에서 영문자와 특수문자를 검색하는 함수를 정의하고, 주어진 텍스트에 대해 이 함수들을 호출하는 예제입니다.
-
find_characters
함수는 주어진 문자열에서 영문자와 언더스코어(_)를 검색합니다.r'[a-zA-Z_]+'
는 영문 대소문자와 언더스코어가 1회 이상 반복되는 패턴을 나타냅니다.re.findall
함수는 문자열에서 이 패턴과 일치하는 모든 부분을 찾아 리스트로 반환합니다. -
find_special_chars
함수는 주어진 문자열에서 영문자, 숫자, 언더스코어가 아닌 모든 문자를 검색합니다.r'[^a-zA-Z0-9_]+'
는 영문 대소문자, 숫자, 언더스코어를 제외한 다른 모든 문자가 1회 이상 반복되는 패턴을 나타냅니다.
위 코드를 실행하면 다음과 같은 결과가 출력됩니다:
영문자: ['Hello', 'Python', 'What', 's', 'up']
특수문자: [', #', '!']