IT/프로그래밍

[파이썬] 정규표현식 [패스트 캠퍼스 챌린지 42일]

뜻밖의 행복 2022. 3. 6. 23:28
반응형

안녕하세요? 뜻밖의 행운입니다.

오늘은 패스트 캠퍼스 도전 42일

진짜 여러 개발과 관련된 기초 지식들은 다 배우네요 

한번 배워두면 이곳 저곳에서 계속 쓸 수 있는

정규표현식에 대해서 배웠습니다.

 

정규표현식의 경우 파이썬에서만 사용하는 것이 아니라 

일종의 표준이라 다른 언어에서도 그냥 사용이 가능합니다.

보통은 긴 문장안에서 특정 패턴을 찾고 싶을 때 사용합니다.

이런 개발 공부때는 음 왜인지 크롤링할때 사용하지 않을까?

생각이 드네요

정규 표현식의 단점은 표현하는 방식이 복잡해서 

가독성이 좋지 못합니다. 

지금까지 가독성 좋게 코딩하려고 여러가지 방안들을 배웠는데 

그거에 반대로 가는것이지요 

가독성이 좋지 않기 때문에 유지보수도 힘듭니다.

그러니 적절히 잘 사용해야겠습니다.

 

정규표현식 연습은 위 사이트에서 진행을 했습니다. 

Character classes와 Anchors, Escaped characters에 대해서 배웠는데요 

 

왼쪽에 사실 각각 표현식이 무엇을 의미하는지는 설명에 나와 있습니다. 

그리고 실제토 Expression이라고 되어 있는 부분에 각각 표현식을 입력하며

아래의 예문에서 표현식이 각각 무엇을 의미하는지 알려 줍니다.

 

Character classes
.  개행 문자를 제외한 모든 문자를 검색합니다.

\w  영숫자 문자나 밑줄과 일치. [a-zA-Z0-9_]
\W  \w와 반대로 일치. [^a-zA-Z0-9_]
\d  모든 숫자와 일치. [0-9]와 동일
\D  \d와 반대. [^0-9]와 동일
\s  White space문자들(space(공백), tab(), new line(엔터키) 등과 같은 문자 찾기. [\f\n\r\t\v]
\S  \s와 반대로 일치. [^\f\n\r\t\v]


[abc] a,b,c 하나라도 들어가는 것을 검색 [] 로 감싸 주면 됩니다.
[^abc] a,b,c 하나라도 들어간 것은 제외 역시 [^] 형식으로 사용하면 됩니다.
[a-g] [ - ] 범위를 지정하는 것으로 앞의 예제는 a-g 까지 들어가는 문자를 검색합니다.


Anchors
^abc$ ^이 앞에 있을 경우 abc로 시작하는 문자 그리고 뒤에 $가 있을 경우 abc로 끝나는 문자를 검색합니다.
\b\B 소문자 b와 대문자 B는 반대의 기능을 합니다. \b를 했을 경우 단어의 경계에 대문자 B를 했을 경우는 단어 경계가 아닌 부분을 검색합니다.

 

오늘 배운 내용은 이정도입니다.

사실 정규표현식은 위에 말고도 상당히 많습니다. 

근데 미리 다 외울필요는 없고 역시나 

어디에 따로 정리를 해두고 아 이런 정규표현식이 있었는데만 기억해두시고 

찾아서 사용하시면 됩니다. 

자주 사용할 경우 계속 쓰니까 익숙해져서 바로바로 사용 가능할 것이고 

빈도가 낮은것은 자주 사용하지 않으니 그때 그때 찾아서 사용하는 것이 

좋겠지요

 

 

반응형