정규 표현식(Regular Expression)

c.haha.e·2025년 8월 16일

STUDY

목록 보기
20/27

정규 표현식(Regular Expression)

1) 정규 표현식 문법

특수 문자설명
.한개의 임의의 문자를 나타낸다.
?앞의 문자가 존재할 수 도 있고, 존재하지 않을수도 있다.(문자가 0개 또는 1개)
*앞의 문자가 무한개로 존재할 수도 있고, 존재하지 않을수 도 있다. (문자가 0개이상)
+앞의 문자가 최소한개이상 존재한다.(문자가 1개이상)
^뒤의 문자열로 문자열이 시작된다
$앞의 문자열로 문자열이 끝난다.
{숫자}숫자 만큼 반복
{숫자1, 숫자2}숫자1 이상 숫자2 이하만큼 반복한다. ?, *,+를 이것으로 대체 가능
{숫자,}숫자 이상만큼 반복한다.
[]대괄호 안의 문자들 중 한개의 문자와 매치
[^문자]해당 문자를 제외한 문자를 매치
lAlB 와 같이 쓰이며 A 또는 B의 의미를 갖음

2) 역슬래쉬()를 이용한 문자 규칙

문자규칙설명
\\역 슬래쉬 문자 자체를 의미함
\d모든 숫자를 의미함 [0-9] 와 동일
\D숫자를 제외한 모든 문자를 의미한다 [^0-9] 와 동일
\s공백을 의미함 [\t\n\r\f\v] 와 동일
\S공백을 제외한 문자를 의미 [^\t\n\r\f\v]와 동일
\w문자 또는 숫자를 의미함 [a-zA-Z0-9] 와 동일
\W문자 또는 숫자가 아닌 문자를 의미함 [^a-zA-Z0-9]와 동일

3) 정규표현식 모듈 함수

모듈 함수설명
re.compile()정규표현식을 컴파일 하는 함수, 파이썬에 미리 컴파일을 해놓고 사용하여 속도 측면에서 유리함
re.search()문자열 전체에 대해 정규표현식과 매치되는지 검색한다.
re.match()문자열의 처음이 정규표현식과 매치되는지 검색
re.split()정규 표현식을 기준으로 문자열을 분리하여 리스트로 리턴
re.findall()문자열에 정규 표현식과 매치되는 모든 경우의 문자열을 찾아서 리스트로 리턴 만약 리턴되는 값이 없을 경우 빈 리스트로 리턴
re.finditer()문자열에서 정규 표현식과 매치되는 모든 경우의 문자열에 대한 이터레이터 객체를 리턴 ex) a= re.finditer() —> next(iter(a))
re.sub()문자열에서 정규 표현식과 일치하는 부분에 대해서 다른 문자열로 대체
  • r prefix : 문자열 앞에 붙이는 rraw string 의 의미를 가지며 역슬래쉬 \ 을 탈출 문자로 보지 않고, 아무 역할도 하지 않는 평범한 문자열로 간주한다. \s 는 탈출문자에 해당하지 않기 때문에 추가적인 pattern에 넣어줘야함

예시 )

print("Hello World!\n")
print(r"Hello World!\n")
>> Hello World!
>> 
>> Hello World!\n

연습용 사이트(정규식표현) —> https://regexr.com/5mhou

-필수 패키지 설치

pip install nltk konlpy pandas numpy matplotlib seaborn scikit-learn torch 
pip install JPype1-0.6.3-cp36-cp36m-win_amd64.whl # 설치 주소 https://github.com/jpype-project/jpype/releases * 디렉토리에 파일이 있어야 설치 가능 
profile
기록용 블로그

0개의 댓글