[파이썬] 정규 표현식의 특수 문자 반복
정규 표현식은 문자열에서 패턴을 찾거나 매치하는 데 사용되는 강력한 도구입니다. 특히 반복되는 패턴을 찾을 때 특수 문자를 사용할 수 있습니다. 이번 포스트에서는 파이썬에서 정규 표현식의 특수 문자 반복을 사용하는 방법에 대해 알아보겠습니다.
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']
정규 표현식의 특수 문자 반복을 통해 정확한 패턴을 검색하고 매치할 수 있습니다. 이를 통해 효율적이고 강력한 문자열 처리를 할 수 있습니다.