[파이썬] 문자열의 정규식 매칭 문자 범위

정규식(Regular Expression)은 문자열에서 특정 패턴을 찾거나 변형하기 위해 사용되는 강력한 도구입니다. 이 중에서 문자 범위(Character Range)는 특정 범위 내의 문자들을 매칭시키는 방법을 제공합니다. Python에서는 정규식 매칭에 내장된 re 모듈을 사용하여 문자열의 정규식 매칭을 수행할 수 있습니다.

문자 범위 구문

문자 범위를 표현하기 위해서는 대괄호([]) 안에 매칭시키고자 하는 문자의 범위를 지정합니다. 예를 들어, [abc]는 ‘a’, ‘b’, ‘c’ 중 어느 하나와 매칭됩니다. 또는 숫자 범위를 나타내기 위해 [0-9]와 같이 - 기호를 사용할 수도 있습니다.

예제: 소문자 알파벳 매칭

다음은 소문자 알파벳 a부터 z까지의 문자 범위를 매칭하는 예제입니다.

import re

string = "The quick brown fox jumps over the lazy dog."

pattern = re.compile("[a-z]+")
match = pattern.findall(string)

print(match)  # ['he', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']

위의 코드는 주어진 문자열에서 소문자 알파벳 부분 문자열을 모두 매칭하여 리스트로 반환합니다. re.compile() 함수를 사용하여 정규식 패턴을 컴파일한 후, findall() 메서드를 사용하여 문자열에서 매칭되는 부분 문자열을 검색합니다. 이 경우, '[a-z]+' 정규식 패턴은 소문자 알파벳만을 매칭합니다.

예제: 숫자 범위 매칭

다음은 숫자 범위 0부터 9까지의 문자열을 매칭하는 예제입니다.

import re

string = "The number is 42."

pattern = re.compile("[0-9]+")
match = pattern.findall(string)

print(match)  # ['42']

위의 코드는 주어진 문자열에서 숫자 부분 문자열을 매칭하여 반환합니다. '[0-9]+' 정규식 패턴은 0부터 9까지의 숫자들을 매칭합니다. findall() 메서드를 사용하여 문자열에서 매칭된 부분 문자열을 검색합니다.

문자 범위의 활용

문자 범위는 다양한 용도로 활용될 수 있습니다. 예를 들어, 알파벳이나 숫자가 아닌 문자들을 제거하기 위해 문자 범위를 사용할 수 있습니다. 또는 특정한 패턴을 가진 문자열을 매칭시킬 때, 문자 범위를 사용하여 원하는 문자들을 선택적으로 포함시킬 수 있습니다.

정규식의 문자 범위는 강력하면서도 유연한 매칭을 제공합니다. 다양한 문자들을 매칭하기 위해 문자 범위를 활용해 보세요.