정규표현식의 메타 문자 종류
CODEDRAGON ㆍDevelopment/Regular Expression
반응형
정규표현식의 메타 문자 종류
메타문자 | 의미 |
. | · 임의의 한 문자 · 뉴라인(\n) 을 제외한 모든 문자를 의미 |
^ | · 행 머리(문자열의 처음, 라인의 처음을 의미) · ^ 문자는 패턴의 시작을 알림 · ^ 문자만 패턴의 앞에 올 수 있습니다. · 문자 클래스 내에 ^ 메타 문자가 사용될 경우에는 반대(not)라는 의미를 가집니다. · re.MULTILINE 을 사용할 경우에는 여러줄의 문자열 각 라인의 처음과 일치해야 합니다. |
$ | · 행 꼬리(문자열의 마지막, 라인의 끝을 의미) · $ 문자는 패턴의 끝을 알림 · 문자열에서 패턴의 마지막 문자는 반드시 $ 문자로 끝나야 합니다. · ^ 메타문자와 반대 |
\s | · 공백 문자 · 공백문자는 공백, 탭, 줄바꿈, 리턴키 값을 포함합니다. · 화이트 스페이스를 의미합니다. · [ \t\n\r\f\v]와 동일한 표현식 |
\S | · 공백 문자 아님 · 공백이 아닌 문자를 매칭합니다. · [^ \t\n\r\f\v]와 동일한 표현식 (^는 not을 의미) |
\w | · 문자+숫자(alphanumeric)와 매치 · [a-zA-Z0-9]와 동일한 표현식 |
\W | · 문자+숫자(alphanumeric)가 아닌 문자와 매치 · [^a-zA-Z0-9]와 동일한 표현식 |
\d | · 숫자 0 ~ 9 · [0-9]와 동일한 표현식 |
\D | · 숫자 이외의 문자 · [^0-9]와 동일한 표현식 |
\A | · 문자열의 처음과 매치됨을 의미 · ^와 동일한 의미이지만 re.MULTILINE 옵션을 사용할 경우에는 다르게 해석된다. re.MULTILINE 옵션을 사용할 경우 ^은 라인별 문자열의 처음과 매치되지만 \A는 라인과 상관없이 전체 문자열의 처음하고만 매치됩니다. |
\Z | · 문자열의 끝과 매치됨을 의미 · re.MULTILINE 옵션을 사용할 경우 $ 메타문자와는 달리 전체 문자열의 끝과 매치됩니다. |
\b | · 단어 경계, 단어 구분자(Word boundary) · 보통 단어는 whitespace에 의해 구분 되어 집니다. · \b는 파이썬 리터럴로 백스페이스(Back Space)를 의미하므로 백스페이스가 아닌 단어구분자(Word Boundary)임을 알려주기 위해 r'\bclass\b' 처럼 raw string임을 알려주는 기호 r을 반드시 붙여주어야 합니다. |
\B | · 비단어 경계 · \b 메타문자의 반대 · whitespace로 구분된 단어가 아닌 경우에만 매치되어 집니다. |
? | · Zero or One · 앞 패턴이 없거나 1번 발생해야 합니다 (Optional 패턴을 정의할 때 사용) |
* | · Zero or Many · 앞 패턴이 0개 이상이어야 합니다. |
+ | · One or Many · 앞 패턴이 한번 이상 발생해야 합니다. |
{n} | · 앞 패턴이 n번 반복해서 나타나는 경우 |
{n,} | · X{n,}: X의 n회 이상 반복 |
{n,m} | · 앞 패턴이 최소 n번, 최대 m 번 반복해서 나타나는 경우 (n 또는 m 은 생략 가능) |
| | · 다중 매칭으로 여러 패턴 중 하나와 매칭해야 합니다. · "or" 의미 |
[] | · 정의된 문자들의 집합중에 매칭되는 단어가 있어야 합니다. |
[^] | · [문자들]의 반대로 피해야할 문자들의 집합을 정의합니다. |
() | · 소괄호로 추출 시작점과 끝점을 지정해줍니다. |
'Development > Regular Expression' 카테고리의 다른 글
Raw String (1) | 2020.12.31 |
---|---|
Named Capturing Group (0) | 2020.08.14 |
그룹핑 이름 생성하기, 그룹명 사용 (0) | 2020.06.28 |
메타문자 ^ (2) | 2020.06.20 |
예외 문자(Escape Character) (0) | 2020.06.04 |