Pythonに正規表現を書き込む



テキストの前処理を行う場合、最も難しいのは正規表現を使うことです.
正規表現を習ったのは初めてで、思ったより難しいです.整理して学んだ角度から位置決めする

✔正規表現は?


正規表現(regular expression、単純regex)は、規則的な文字列の集合を表すフォーマット言語である.wikipedia
正規表現は、複雑な文字パターンを持つテキストの検索(検索)、置換(置換)、分割(解析)に主に使用されます.
正規表現を使用すると、大量のテキストを繰り返し、非常に速いスピードで処理できます.

千文字


メタ文字とは、正規表現を制御できる文字です.

メタ文字のタイプ


メタ文字の意味メタ文字の意味任意の文字[-]の範囲*0、1以上[^]を除く+1以上^文字列の先頭?0または1(有または無)$文字列末尾{n}n回パケットping[]check
メタデータを簡単に表にまとめる.
今から詳しく調べてみます.
^x : 문자열이 x로 시작
x$ : 문자열이 x로 끝
.x : x로 끝나는 임의의 한 문자
x+ : x가 한 번 이상 반복
x? : x 있거나 없거나
x* : x가 0번 이상 반복
x|y : x 또는 y 찾기
(x) : ( ) 안의 내용을 캡쳐해 그룹화
(x)(y) : 그룹 여러 개 -> 결과값에 그룹화한 데이터가 배열 형식으로 그룹 번호 순으로 들어감
(x)(?:y) : 캡쳐하지 않는 그룹 -> ?: 사용
x{n} : x를 n번 반복한 문자 찾기
x{n,} : x를 n번 이상 반복한 문자 찾기
x{n,m} : x를 n번 이상 m번 이하 반복한 문자 찾기
\[x,y] : x, y 중 하나 찾기
\[^xy] : x, y를 제외하고 문자 하나를 찾기
\[x-z] : x-z 사이의 문자 중 하나 찾기
\^ : 특수문자를 식에 문자 자체로 포함
\b : 문자와 공백 사이의 문자 찾기
\B : 문자와 공백 사이가 아닌 값 찾기
\d : 숫자 찾기
\D : 숫자가 아닌 값 찾기
\s : 공백 찾기
\S : 공백이 아닌 문자 찾기
\t : tab 문자 찾기
\v : vertical tab 문자 찾기
\w : 알파벳+숫자+\_ 찾기
\W : 알파벳+숫자+\_를 제외한 모든 문자 찾기
?P<tag>: 주석처럼 tag를 달아서 설명할 수 있음

✔ Greedy / Lazy


正規表現の探索にはGreedyとLazyの2つの方式がある.
Greedyメソッドは、最後の一致を検索します.
Lazyの方法は最初のマッチングを見つけることです.
ex. regex
# greedy 방식
r.*e -> output: rege
r.*?e -> output: re
基本的に、正規表現はグレーで検索されます.

Cheat Sheet


これは正規表現に関するメモです.正規表現を使うときは参考にしたほうがいいです.
メモソース