[파이썬] 정규 표현식의 특수 문자 반복

정규 표현식은 문자열에서 패턴을 찾거나 매치하는 데 사용되는 강력한 도구입니다. 특히 반복되는 패턴을 찾을 때 특수 문자를 사용할 수 있습니다. 이번 포스트에서는 파이썬에서 정규 표현식의 특수 문자 반복을 사용하는 방법에 대해 알아보겠습니다.

1. ‘+’ 기호 사용하기

+는 이전 패턴이 1회 이상 반복되는 것을 의미합니다. 예를 들어, 정규 표현식 a+는 ‘a’, ‘aa’, ‘aaa’ 등을 매치시킬 수 있습니다.

import re

pattern = r'a+'
string = 'aaaabcccdef'
result = re.findall(pattern, string)
print(result)  # ['aaaa']

2. ‘*’ 기호 사용하기

*는 이전 패턴이 0회 이상 반복되는 것을 의미합니다. 예를 들어, 정규 표현식 ab*c는 ‘ac’, ‘abc’, ‘abbc’, ‘abbbc’ 등을 매치시킬 수 있습니다.

import re

pattern = r'ab*c'
string = 'ac abc abbc abbbc'
result = re.findall(pattern, string)
print(result)  # ['ac', 'abc', 'abbc', 'abbbc']

3. ‘{n}’ 기호 사용하기

{n} 패턴은 이전 패턴이 n회 반복되는 것을 의미합니다. 예를 들어, 정규 표현식 a{3}는 ‘aaa’와 매치시킬 수 있습니다.

import re

pattern = r'a{3}'
string = 'aa aaa aaaa'
result = re.findall(pattern, string)
print(result)  # ['aaa']

4. ‘{n,m}’ 기호 사용하기

{n,m} 패턴은 이전 패턴이 n회 이상, m회 이하로 반복되는 것을 의미합니다. 예를 들어, 정규 표현식 a{2,4}는 ‘aa’, ‘aaa’, ‘aaaa’와 매치시킬 수 있습니다.

import re

pattern = r'a{2,4}'
string = 'a aa aaa aaaa aaaaa'
result = re.findall(pattern, string)
print(result)  # ['aa', 'aaa', 'aaaa']

5. ‘?’ 기호 사용하기

?는 이전 패턴이 0회 또는 1회만 반복되는 것을 의미합니다. 예를 들어, 정규 표현식 ab?c는 ‘ac’와 ‘abc’를 매치시킬 수 있습니다.

import re

pattern = r'ab?c'
string = 'ac abc abbdc'
result = re.findall(pattern, string)
print(result)  # ['ac', 'abc']

정규 표현식의 특수 문자 반복을 통해 정확한 패턴을 검색하고 매치할 수 있습니다. 이를 통해 효율적이고 강력한 문자열 처리를 할 수 있습니다.