정규식을 파이썬에서 사용할 때, 혼란을 주는 요소가 한 가지 있다..라고 한다.
바로 백슬래시('\')이다.
날도 더운데 슬러시 먹고싶다 ㅋㅋ;;
예를 들어, 어떤 파일안에 있는 '\section' 문자열을 찾기 위한 정규식을 만든다고 해보자.
그런데 '\s'는 화이트스페이스로 해석되어, 의도한대로 매칭이 되지 않는다.
그래서 \section 이렇게 두 번 써야 한다.
p = re.compile('\section')
그런데, 여기서 파이썬만의 문제가 생긴다고 한다;;
파이썬 정규식 엔진은 \를 \로 변경해서 '\section'이 전달되고,
결국 '\\section'.... 이렇게 \를 4번 써야 한다는 것이다.
그래서!
Raw String 규칙이라는 게 생겼다.
쉽게말해 이스케이프에 영향 받지 않고, 그대로 쓰겠다는 말임
p = re.compile(r'\section')
앞에 r을 쓰면, Raw String 규칙에 발동한다.
백슬래시를 사용하지 않는 정규식이라면,
r의 유무와 상관없이 동일한 정규식이 될 것 이다.