정규식(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()
메서드를 사용하여 문자열에서 매칭된 부분 문자열을 검색합니다.
문자 범위의 활용
문자 범위는 다양한 용도로 활용될 수 있습니다. 예를 들어, 알파벳이나 숫자가 아닌 문자들을 제거하기 위해 문자 범위를 사용할 수 있습니다. 또는 특정한 패턴을 가진 문자열을 매칭시킬 때, 문자 범위를 사용하여 원하는 문자들을 선택적으로 포함시킬 수 있습니다.
정규식의 문자 범위는 강력하면서도 유연한 매칭을 제공합니다. 다양한 문자들을 매칭하기 위해 문자 범위를 활용해 보세요.