문자열의 비교나 처리를 위해 사용하는 특수기호 표현식
| re.compile(검색할 문자열) | 정규표현식 혹은 찾는 문자들을 정규식 객체[re.RegexObject 클래스 객체]로 반환하는데 사용하는 함수 |
| match( ) | 문자열의 시작 부분이 정규식과 매치되는지 조사 즉, 문자열 중간에 정규식과 일치하는 패턴이 있더라도 출력되지 않음 |
| search( ) | 문자열의 시작 부분부터 정규식과 매치되는지 조사 단, 정규식과 매칭되는 패턴이 나타나면 더 이상 검사하지 않음 |
| findall( ) | 문자열의 시작 부분부터 정규식과 매치되는지 조사 정규식과 매치되는 문자열들을 리스트로 반환 |
| finditer( ) | 정규식과 매치되는 문자열들을 반복 가능한 객체로 반환 |

| start( ) | 매치된 문자열의 시작 위치를 리턴 |
| end( ) | 매치된 문자열의 끝 위치를 리턴 |
| span( ) | 매치된 문자열의 (시작위치, 끝 위치)를 리턴 튜플 형태로 리턴됨! |
| group( ) | 매치된 문자열을 리턴 |

다른 문자의 정보를 전달하기 위하여 프로그램이나 데이터에 끼워 넣는 문자
^로 정규표현식을 시작해서 $로 끝나도록 한다.
[ ]안에 들어있는 문자와 매칭되는 모든 문자를 출력하는 것으로 문자클래스라고 함
연속된 문자나 숫자의 경우 '-'를 사용하면 간단하게 표기 가능
| 정규표현식 | 설 명 |
| [abcd], [a-d] | 문자열에서 지정한 문자들에 해당하는 것들을 하나씩 추출하여 리스트를 생성 |
| [^ABCD], [A-D] | 문자열에서 지정한 문자들이 아닌 것들을 하나씩 추출하여 리스트를 생성 |
| [A-Z] | 문자열에서 A~Z 에 해당하는 것들을 하나씩 추출하여 리스트를 생성 |
| [a-z] | 문자열에서 a-z 에 해당하는 것들을 하나씩 추출하여 리스트를 생성 |
| [가~힣] | 문자열에서 가~힣 사이, 즉 한글에 해당하는 것들을 하나씩 추출하여 리스트를 생성 |
| [0~9] | 문자열에서 0~9사이에 해당하는 것들을 하나씩 추출하여 리스트를 생성 |
자주 사용하는 문자클래스는 별도 표기법을 통해 간편하게 사용 가능!
| 별도 표기법 | 정규 표현식 | 설 명 |
| \d | [0-9] | 문자열에서 0~9사이에 해당하는 것들을 하나씩 추출하여 리스트를 생성 |
| \D | [^0-9] | 문자열에서 0~9사이에 해당하지 않는 것들을 하나씩 추출하여 리스트를 생성 |
| \s | [\t\n\r\f\v] | 문자열에서 공백문자[whitespace]를 하나씩 추출하여 리스트를 생성 |
| \S | [^\t\n\r\f\v] | 문자열에서 공백문자[whitespace]가 아닌 것들을 하나씩 추출하여 리스트 생성 |
| \w | [a-zA-Z가-힣0-9] | 문자열에서 문자나 숫자들을 하나씩 추출하여 리스트 생성 |
| \W | [^a-zA-Z가-힣0-9] | 문자열에서 문자와 숫자가 아닌 것들을 하나씩 추출하여 리스트 생성 |
줄바꿈 문자인 \n을 제외한 모든 문자 중 하나와 매칭

문자열에서 바로 앞의 패턴[지정 문자나 메타문자]이 0번 이상 반복되는 것들을 하나씩 추출하여 리스트 생성
앞의 메타문자에 속하는 글자라면 길이와 상관없이 계속 출력됨!
바로 앞의 메티문자에 속하는 글자가 없다면 공백 혹은 출력되지 않음

문자열에서 바로 앞의 패턴[지정 문자나 메타문자]이 0~1번 반복되는 것들을 하나씩 추출하여 리스트 생성

문자열에서 바로 앞의 패턴[지정 문자나 메타문자]이 1번 이상 반복되는 것들을 하나씩 추출하여 리스트 생성

문자열에서 바로 앞이나 뒤의 패턴[지정 문자나 메타문자]들을 하나씩 추출하여 리스트 생성
( | )나 [ , ]가 동일하기 때문에 개인적으로는 거의 사용안함

문자열에서 { }안의 숫자만큼 반복되는 것들을 찾아서 리스트를 생성
| 패턴{a} | 문자열에서 패턴이 a번 반복되는 것들을 추출하여 리스트를 생성 |
| 패턴{a,b} | 문자열에서 패턴이 a번 이상 b번 이하 반복되는 것들을 추출하여 리스트를 생성 |

문자열에서 해당 단어를 찾아서 리스트를 생성[단어에 포함되어 있는 패턴은 추출하지 않음]
해당 단어가 어느정도 사용되었는지 확인할 때 유용

문자열에서 해당 패턴을 찾아서 리스트를 생성[단어는 추출하지 않음!]





댓글 영역