Pythonの基礎(XIX) - 正規表現モジュールの再

正規表現パターン

モード 説明
^ 文字列の先頭にマッチします
$ 文字列の末尾にマッチします。
改行以外の任意の文字と一致re.DOTALLフラグが指定されている場合、それは任意の文字が改行を含んで一致します。
[...] 別途記載されている文字のグループを表すために使用される:[AMK]マッチ「A」、「M」または「K」
[^ ...] ない[]文字数:[^ ABC]、B、Cの文字にマッチすることに加えて。
* 表現のゼロ個以上のマッチ。
+ 表現の一つ以上を一致させます。
前述の正規表現定義された断片、非貪欲な方法によって一致0または1
{N} nは前述の式に一致します。例えば、「oは{2}」「O」の「ボブ」に一致しないが、二つのOで「食物」と一致することができます。
{N} ちょうどn前述の式に一致します。例えば、「O {2}」「O」の「ボブ」に一致しないが、それはのすべてのO「foooood」と一致することができます。"O {1}" "O +" に相当します。"O {0}" "入出力*" に相当します。
{N、M} N m回前の定義セグメントによって正規表現と一致するように、貪欲方法
| B またはbにマッチします
(再) 括弧内の式と一致する、また基を表します
\ワット マッチ英数字、アンダースコア
\ W 英数字以外のアンダースコアをマッチング
\ sの マッチ[\ T \ n \ R \ F]に相当する空白文字を、。
\ S 任意の非空白文字にマッチします
\ dは 任意の数と一致し、[0-9]と等価です。
\ D 任意の非数字にマッチします
\ A マッチング文字列の開始
\ Z それが唯一のラップに文字列の一致の終了前に、ラップであれば、文字列の末尾にマッチします。
\ Z 一致文字列の末尾
\ G 最後の試合は、マッチ位置を完了します。
\ B つまり、単語間の位置とスペースを指し、ワード境界に一致します。例えば、「ERの\ bは、」「ER」内のER「」とは一致しません「動詞」で「決して」と一致しません。
\ B 非ワード境界に一致します。ER「\ B」マッチ「動詞」「えー」ではなく、「絶対」「ER」では一致しません。
その上、\ N、\ tの、と。 改行にマッチします。整合タブ、等
\ 1 ... \ 9 n番目のパケットを照合します。
\ 10 それが一致した場合、n番目のパケットを照合します。それ以外の場合は、式が進文字コードを指し、

特別な

説明
(?P <キー> 辞書を生成するために使用される)(groupdictで、「キーは」キー値であり、
(?IMX) I、M、またはX:任意の正規表現は、3つのフラグを含みます。それだけで地域の括弧に影響を与えます。
(?-imx) I、M、X、または任意のフラグをオフREGEX。それだけで地域の括弧に影響を与えます。
(?:再) (...)似ていますが、グループを表すものではありません。
(IMX:?再) 括弧内I、M、X、またはオプションフラグを使用
(-imx:?再) I、括弧内のM用いる、あるいはXをマークしません
(?#...) コメント。
(?=再) 区切り文字の前に必ずします。正規表現が順番に含まれている場合は...現在のマッチ位置の成功の成功は、それ以外の場合は失敗しました。しかし、一度に含まれる表現は、マッチングエンジンは進まない、試みられてきたが、パターンの残りの部分は、さらに右の区切り文字をしようとしています。
(?!再) 負の前に区切り文字。そして、反対の正のアサーション;文字列に含まれる式は、ときに現在の位置が一致し成功することはできません。
(?>再) 独立したパターンマッチング、バックトラックを排除します。

 

共通機能

re.match(パターン、文字列、フラグ= 0)。

開始位置を一致文字列は、マッチングが成功したリターンをNoneでありません

オブジェクトを返します:

群(NM = 0)、複数のグループ番号を入力することができ、グループが一致したタプルの形式に戻します(デフォルトではグループの外を含む)すべてのマッチに文字列を返します

グループ()の形ですべてのタプルの集合を返します

groupdict():组内配合(?P<key>...)使用,否则返回空字典

 

re.search(pattern,string,flags=0)

扫描所有字符串,返回第一个成功的匹配

group(),groups(),groupdict()同上

 

re.split(pattern,string,maxsplit=0,flags=0):

将匹配到的字符作为分隔符,剩余字符以列表返回;maxsplit参数指定分割次数,默认不限

 

re.findeall(pattern,string,flag=0)

将匹配到的字符以列表返回

 

re.sub(pattern,repl,string,count=0,flags=0)

将匹配到的字符替换为 repl

count为匹配后替换的次数,默认不限

 

re.finditer

和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回

 

正则表达式修饰符 - 可选标志

正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR(|) 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志:

修饰符 描述
re.I 使匹配对大小写不敏感
re.L 做本地化识别(locale-aware)匹配
re.M 多行匹配,影响 ^ 和 $
re.S 使 . 匹配包括换行在内的所有字符
re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解

 

おすすめ

転載: www.cnblogs.com/lalaxing/p/11371782.html