정규 표현식 사용
이 단계에서는 Python 에서 정규 표현식을 사용하여 특수 문자를 식별하는 방법을 배우게 됩니다. 정규 표현식은 문자열에서 패턴 매칭을 위한 강력한 도구입니다.
먼저, VS Code 편집기를 사용하여 ~/project 디렉토리에 regex_special_characters.py라는 Python 스크립트를 생성해 보겠습니다.
## Content of regex_special_characters.py
import re
def find_special_characters(text):
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
return special_characters
text = "Hello! This is a test string with some special characters like @, #, and $."
special_chars = find_special_characters(text)
print("Special characters found:", special_chars)
이 코드는 다음과 같은 작업을 수행합니다.
import re: 이 줄은 정규 표현식 연산을 제공하는 re 모듈을 가져옵니다.
def find_special_characters(text):: 이 함수는 문자열을 입력으로 받아 문자열 내의 모든 특수 문자를 찾습니다.
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text): 이 줄은 re.findall() 함수를 사용하여 입력 문자열에서 영숫자 (a-z, A-Z, 0-9) 또는 공백 (\s) 이 아닌 모든 문자를 찾습니다. [^...]는 부정 문자 클래스 (negated character class) 로, 지정된 집합에 없는 모든 문자를 일치시킵니다.
return special_characters: 이 줄은 발견된 특수 문자의 목록을 반환합니다.
- 나머지 줄은 샘플 문자열을 정의하고, 함수를 호출하여 특수 문자를 찾고, 결과를 출력합니다.
이제 스크립트를 실행해 보겠습니다. 터미널을 열고 다음 명령을 실행합니다.
python regex_special_characters.py
다음과 같은 출력을 볼 수 있습니다.
Special characters found: ['!', '@', ',', '#', '$', '.']
이 출력은 정규 표현식을 사용하여 입력 문자열에서 찾은 특수 문자의 목록을 보여줍니다.
다른 정규 표현식을 사용하여 구두점 문자만 일치하도록 스크립트를 수정해 보겠습니다.
VS Code 에서 regex_special_characters.py를 열고 다음과 같이 수정합니다.
## Modified content of regex_special_characters.py
import re
import string
def find_punctuation_characters(text):
punctuation_chars = re.findall(r"[" + string.punctuation + "]", text)
return punctuation_chars
text = "Hello! This is a test string with some punctuation like ., ?, and !."
punctuation = find_punctuation_characters(text)
print("Punctuation characters found:", punctuation)
이 수정된 스크립트에서는 string.punctuation을 사용하여 일치시킬 구두점 문자 집합을 정의했습니다.
스크립트를 다시 실행합니다.
python regex_special_characters.py
다음과 같은 출력을 볼 수 있습니다.
Punctuation characters found: ['!', '.', '?', '!']
이 출력은 정규 표현식과 string.punctuation 상수를 사용하여 입력 문자열에서 찾은 구두점 문자의 목록을 보여줍니다.
정규 표현식을 사용하면 Python 에서 문자열에서 특수 문자를 식별하고 추출하는 유연하고 강력한 방법을 제공합니다.