[python] 정규표현식을 이용한 숫자와 특수문자 검색

정규표현식은 문자열에서 특정 패턴을 찾거나 변형하는 데 사용하는 강력한 도구입니다. 이번 포스트에서는 파이썬의 re 모듈을 이용하여 문자열에서 숫자와 특수문자를 검색하는 방법을 알아보겠습니다.

숫자 검색

숫자를 찾기 위해서는 \d를 사용합니다. 예를 들어, 다음의 예제 코드는 문자열에서 모든 숫자를 찾아 리스트로 반환하는 함수를 정의합니다.

import re

def find_numbers(text):
    pattern = r"\d+"
    numbers = re.findall(pattern, text)
    return numbers

위의 코드에서는 re.findall() 함수를 사용하여 패턴에 매칭되는 모든 숫자를 찾고, 이를 리스트로 반환합니다. 패턴 \d+은 하나 이상의 연속된 숫자를 의미합니다.

아래는 이 함수를 사용하여 숫자를 찾는 예제입니다.

text = "Hello, 1234 World!"
numbers = find_numbers(text)
print(numbers)  # ['1234']

특수문자 검색

특수문자를 찾기 위해서는 \W를 사용합니다. \W는 알파벳, 숫자, 밑줄 문자 외의 모든 문자와 매칭됩니다. 예를 들어, 아래의 예제 코드는 문자열에서 모든 특수문자를 찾아 리스트로 반환하는 함수를 정의합니다.

import re

def find_special_characters(text):
    pattern = r"\W+"
    special_characters = re.findall(pattern, text)
    return special_characters

위의 코드에서는 re.findall() 함수를 사용하여 패턴에 매칭되는 모든 특수문자를 찾고, 이를 리스트로 반환합니다. 패턴 \W+은 하나 이상의 연속된 특수문자를 의미합니다.

아래는 이 함수를 사용하여 특수문자를 찾는 예제입니다.

text = "Hello, @#^ World!"
special_characters = find_special_characters(text)
print(special_characters)  # ['@', '#', '^']

결론

정규표현식은 문자열에서 숫자와 특수문자를 검색하는 데 유용한 도구입니다. 이번 포스트에서는 숫자를 검색하는 방법과 특수문자를 검색하는 방법을 알아보았습니다. re 모듈의 다양한 함수와 패턴을 활용하면 보다 정교한 검색이 가능합니다.

더 자세한 내용은 Python 문서의 정규표현식 HOWTO를 참고하시기 바랍니다.