파이썬 정규표현식 기초1 메타문자
메타 문자(meta characters)
정규 표현식에 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자
. ^ $ * + ? { } [ ] \ | ( )
1. 문자 클래스 []
문자 클래스로 만들어진 정규식 : []
사이의 문자들과 매치된다
문자 클래스를 만드는 메타 문자인 []
사이에는 어떤 문자도 들어갈 수 있다.
[]
예시1
정규 표현식 [abc]
의미 : a, b, c 중 한 개의 문자와 매치
"a", "before", "dude" 문자열에서 정규표현식 [abc]
매치여부 확인
a
: 정규식과 일치하는 문자인 "a"가 있으므로 매치before
: 정규식과 일치하는 문자인 "b"가 있으므로 매치dude
: 정규식과 일치하는 문자인 a, b, c 중 어느 하나도 포함하고 있지 않으므로 매치되지 않음
[]
안에 하이픈 -
-
문자클래스
[]
안의 두 문자 사이에 하이픈-
을 사용하면 두 문자 사이의 범위From - To
를 의미한다[a-c]
정규표현식 :[abc]
와 동일[0-5]
정규표현식 :[012345]
와 동일
-
문자클래스
[]
안에는 어떤 문자나 메타 문자던 사용이 가능하지만^
메타문자 하나만 주의하면 된다- 문자클래스 안에
^
메타문자를 사용 : 반대not
라는 의미 - 예:
[^0-9]
정규표현식은 숫자가 아닌 문자만 매치된다
- 문자클래스 안에
하이픈 -
사용한 문자클래스 예시
[a-zA-Z]
: 알파벳 모두[0-9]
: 숫자
2. Dot .
정규표현식의 Dot,
메타 문자 : 줄바꿈 문자 \n
을 제외한 모든 문자와 매치된다
정규식을 작성할 때 re.DOTALL
옵션을 주면 \n
문자와도 매치된다
정규식 비교
a, b
라는 문자 사이에 어떤 문자가 들어가도 모두 매치된다는 정규식
# "a + 모든문자 + b"
a, b
a, b
문자열과 매치되고,a0b
문자열과는 매치되지 않는 정규식
# a + Dot(.)문자 + b
a[.]b
만약 문자 클래스 []
내에 Dot.
메타 문자가 사용된거면
"모든 문자"라는 의미가 아닌 문자 .
그대로를 의미한다.
혼동하지 않도록 주의
3. 반복 *
4. 반복 +
5. 반복 {m,n}, ?
{m}
{m, n}
?
Author And Source
이 문제에 관하여(파이썬 정규표현식 기초1 메타문자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@beanlove97/파이썬-정규표현식-기초1-메타문자저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)