CODEDRAGON ㆍDevelopment/Regular Expression
Raw String
· \를 이용한 표현이 필요한 경우 백슬래시(\) 2개 를 사용하여 \를 원래의 문자로 표현할 수 있습니다. 그런데 \를 이용한 표현이 반복돼서 사용되는 정규식이라면 너무 복잡하게 되어 이해하기도 쉽지 않게 됩니다. 이러한 문제를 해결하기 위해서 파이썬 정규표현식에는 Raw string이라는 문법을 만들어 컴파일 해야 하는 정규표현식이 Raw String임을 알려주게 됩니다.
· 정규표현식 문자열 맨 앞에 r문자를 붙이면 이 정규표현식은 Raw String 규칙에 의하여 백슬래시(\) 2개 대신 1개만 써도 두 개를 쓴 것과 동일한 의미를 갖게 해줍니다.
· 백슬래시(\) 를 사용하지 않는 정규표현식이라면 r의 유무에 상관없이 동일한 정규표현식이 됩니다.
문자열을 표현할 때, r'문자열' 과 같이 사용하면, 이는 문자열안에 Escape Sequence를 표현하지 않고 Raw String을 직접 사용하겠다는 것을 의미합니다.
r'문자열' |
"\section" 이라는 문자열을 찾기 위한 정규식
정규식 |
설명 |
re.compile( '\section') |
· \s 문자가 whitespace로 해석되어 의도한 대로 매치가 이루어지지 않습니다.
· [ \t\n\r\f\v]ection |
re.compile( '\\section') |
· 정규식을 만들어서 컴파일 하면 실제 파이썬 정규식 엔진에는 파이썬 문자열 리터럴 규칙에 의하여 \\이 \ 로 변경되어 \section 이 전달되어집니다.
· [ \s]ection
|
re.compile( r'\section') |
· 정규식 문자열 맨 앞에 r문자를 붙이면 이 정규식은 Raw String 규칙에 의하여 백슬래시(\) 2개 대신 1개만 써도 두 개를 쓴 것과 동일한 의미를 갖게 됩니다.
· [ \s]ection |
'Development > Regular Expression' 카테고리의 다른 글
정규표현식의 메타 문자 종류 (0) | 2021.12.01 |
---|---|
Named Capturing Group (0) | 2020.08.14 |
그룹핑 이름 생성하기, 그룹명 사용 (0) | 2020.06.28 |
메타문자 ^ (2) | 2020.06.20 |
예외 문자(Escape Character) (0) | 2020.06.04 |