reライブラリの使用と正規表現

2154 ワード

常用正規表現
from re import compile
percent = compile('([1-9]?[0-9]|100)%’)  #    
date = compile(r'20\d{2}-(0[1-9]|1[012])-(0[1-9]|[12]\d|3[01])’)
time = compile("([01]\d|2[0-3]):([0-5]\d):([0-5]\d)")
weather = compile("( | |( ? )|(  )| |(  )|(  )|( ?   )|(  )|(  )|(   )|(   )|(  )|(   (     )?)|(( | | | | |( ?  ))( ( | | | | |(  )))?( | )))( .)*”)
temperature = compile("-?[1-9]?[0-9]{0,1}(.[1-9])?℃")

reライブラリ
注意事項
オブジェクト向けの使い方
regex = re.compile(pattern, flag=0)
result = regex.search(string)
推奨文字タイプ
raw srting:エスケープ文字''の文字タイプを無視
r'textと略記する
整合配向
デフォルトは貪欲なマッチング、すなわち一致する最長文字列です.前の文字が複数回表示される式を識別した後、疑問符を付けて最小一致に変更します.
matchオブジェクト
ツールバーの
属性名
内容
.string
一致するテキスト
.re
正規表現の一致
.pos
検索範囲の開始位置
.endpos
検索範囲の終了位置
 
方法
メソッド名
用途
.group()
各式の括弧に対応するテキストを取得します.0は式全体を表します.
.start()
式に対応するテキストの開始位置を取得
.end()
式に対応するテキストの終了位置を取得
.span()
(.start(), .end())
関数および定数
関数#カンスウ#
関数#カンスウ#
機能
re.search(pattern, string, flag=0)
patternのサブ列に一致するmatchオブジェクトを返します
re.match(pattern, string, flag=0)
シリアルヘッダから一致する必要があります.残りはsearchと一致します.
re.finditer(pattern, string, flag=0)
サブ列に一致するmatchオブジェクトを返す反復器
re.findall(pattern, string, flag=0)
サブストリングに一致するリストを返します
re.split(pattern, string, maxsplit=0, flag=0)
stringをpatternで分割してリストに戻る
re.sub(pattern, repl, string, count=0, flag=0)
patternに一致する各サブストリングを置換
定数
定数名
簡潔に書く
機能
re.IGNORECASE
re.I
大文字と小文字を無視
re.MULTILINE
re.M
許可^stringの各行の先頭に一致
re.DOTALL
re.S
許可するオペレータ一致改行
正規表現
一般式
式#シキ#
さぎょう
.
任意の文字に対応
[]
1つの文字に対応
[^]
該当しない文字
*
前の文字が0回以上表示されました
+
前の文字が1回以上表示されました
?
前の文字が0回または1回表示されます.
{m}
前の文字がm回表示されました
{m, n}
前の文字はm回からn回(n回を含む)
|
左文字列または右文字列
^
一致文字列ヘッダ
$
一致文字列の末尾
()
|シンボルのみをサポートするグループタグ
\d
すべての数値に一致
\w
大文字と小文字、数字、下線の一致
中国語にマッチ
[\u4e00-\u9fa5]