파이썬 정규식 오류 (Python regular expression error) 알아보기.

파이썬 정규식 오류 (Python regular expression error)

소개

파이썬으로 코딩을 하다보면, 문자열로 작업을 해야할 때가 많습니다. 이때 정규식(regular expression)을 사용하면 유용한 경우가 많습니다. 하지만, 정규식도 잘 못 사용하면 에러가 발생할 수 있습니다. 이번 포스팅에서는 파이썬에서 발생하는 정규식 오류를 중심으로 다뤄보겠습니다.

오류 메시지가 나오는 경우

파이썬에서 정규식을 사용할 때, 정규식에 맞지 않는 문자열을 사용하면 다음과 같은 메시지가 출력됩니다.

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/re.py", line 141, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or buffer

이 에러 메시지는 “문자열이나 버퍼형태의 값이 필요합니다” 라는 메시지입니다. 이 메시지는 일반적으로 정규식이나 문자열이 잘못된 것입니다.

정규식 명령어에서 발생하는 오류

파이썬에서 정규식을 사용할 때, 특별한 명령어를 사용하는 경우가 있습니다. 이때 발생하는 오류도 많으므로 유의해야 합니다.

1. ‘^’ 또는 ‘$’를 사용하지 않았을 때

‘^’또는 ‘$’는 각각 문자열의 시작과 끝을 의미합니다. 이 명령어를 사용하지 않았을 경우에는 ‘no match’ 오류가 발생합니다.

2. ‘.’ 명령어에서 발생하는 오류

‘.’는 단일 문자를 의미합니다. 이것을 사용할 경우에는 ‘no match’ 오류가 발생할 수 있습니다.

3. ‘|’ 명령어에서 발생하는 오류

‘|’는 주어진 문자열 중 하나와 일치하는 문자열을 찾습니다. 이것을 사용할 경우에는 ‘no match’ 오류가 발생할 수 있습니다.

4. ‘\d’ 또는 ‘\D’ 명령어에서 발생하는 오류

‘\d’는 숫자를, ‘\D’는 숫자가 아닌 것을 의미합니다. 이 명령어를 사용할 경우에는 ‘unterminated character set’ 오류가 발생할 수 있습니다.

결론

파이썬에서 정규식을 사용할 때, 발생할 수 있는 오류에 대해 알아보았습니다. 주요 오류 사항은 ‘^’또는 ‘$’ 명령어, ‘.’ 명령어, ‘|’ 명령어, ‘\d’ 또는 ‘\D’ 명령어에서 발생하는 오류입니다. 다음에 정규식을 사용할 때, 이러한 오류를 방지할 수 있도록 유의해야 합니다.