この記事では、Python の re モジュールと正規表現の概要 (コード付き) を紹介します。一定の参考値があります。必要な友人は参照できます。お役に立てれば幸いです。
正規表現 (英語: Regular Expression、コードでは regex、regexp、または RE と略されることがよくあります) は、正規表現、正規表現、正規表現、正規表現、正規表現とも呼ばれ、コンピューター サイエンスの概念です。 。正規表現は、単一の文字列を使用して、特定の構文規則に一致する一連の文字列を記述および照合します。多くのテキスト エディタでは、特定のパターンに一致するテキストを取得および置換するために正規表現がよく使用されます。
正規表現ルール、単一文字の一致
Character |
Function |
正規表現の例 | 一致一致の例 |
##. | 任意の文字と一致 (n を除く) | b.b | bab, b2b |
[ ] | [] の文字セットの任意の文字と一致します | i [abCde]m | i am |
\d | [0-9] | w\dcschool | w3cschool と一致する任意の 10 進数と一致します。 |
\D | は数字以外、つまり数字ではないものと一致します | mou\Dh | mouth |
\s | [\n\t\r\v\f] | i\slike | i like ## と同じ、任意のスペース文字と一致します。 |
#\S
\s |
n\Se |
noe,n3e## ではなく、任意の非空白文字と一致します。 |
| #\w
[A-Za-z0-9_] | [A-Za-z]w # # と同じ、任意の英数字と一致します。 |
|
\W |
単語以外の文字と一致します
[0-9]\W[A-Z] | 3 A |
|
| は、数量が
文字
function# に一致することを意味します##正規表現の例 | 一致の例 |
|
|
|
## 前の正規表現と一致します式 0 回以上、オプション
#a* | aaa |
|
|
| 一致前の文字を 1 回または無限に、つまり少なくとも 1 回
a | aaa |
|
|
?
| 1 回または 0 回出現する前の文字と一致します。
a? | a または b |
|
| ##{m}
前の文字と m 回一致します |
[0-9]{5 }
12345 |
| |
| {m.}
少なくとも m 回出現する前の文字と一致します |
a{5.}
aaaaa |
|
|
##{m,n} |
前の文字と一致します 文字は m 回から n 回出現します
| a{2 ,6}
a |
|
|
| 境界一致を表します
|
文字
関数
正規表現の例
|
|
| # の先頭部分と一致します。 string
#^Dear
#$ | 文字列の末尾部分と一致します | fi$ |
b | 任意の単語境界と一致します | \bThe\b |
B | 単語以外の境界と一致します | .*\Bver\ |
##一致グループ |
|
文字 |
関数
##\ |
式 |
| # は左または右のいずれかに一致します
#(ab)
は括弧内の文字をグループとして扱います |
|
| \num
グループに一致する文字列を参照 num |
|
| (?P< ;name>)
グループ エイリアス |
|
#(?P=name) |
参照エイリアスは名前です。グループに一致した文字列です。
|
|
| #re module
Python では、組み込みの re module 正規表現を使用できます | re module の一般的な関数とメソッド |
| コア関数
説明
compile(pattern,flags=0)
オプションのフラグを使用して正規表現パターンをコンパイルし、正規表現オブジェクトを返します#
モジュール関数と正規表現オブジェクト メソッド |
説明 |
match(pattern, string ,flags=0) |
オプションのフラグを含む正規表現パターンを使用して文字列の一致を試みます。一致が成功した場合は一致するオブジェクトを返し、失敗した場合は None を返します |
search(pattern,string,flags=0) |
オプションを使用して文字列を検索しますflags で最初に出現した正規表現パターン。一致が成功した場合は一致するオブジェクトが返され、失敗した場合は None が返されます。 |
findall(pattern,string,[,flags]) |
Find文字列正規表現内のすべての出現を調べてリストを返します。 |
split(pattern,string,max=0) |
正規表現のパターン区切り文字に従って、分割関数は文字を分割します 文字列をリストに分割し、成功した一致のリストを返します 分割操作は最大回数まで可能です (デフォルトでは、一致したすべての位置を分割します) |
sub(pattern,repl,string,count=0) | repl を使用して、文字列内の正規表現パターンのすべての出現を置き換えます。count が定義されていない限り、すべての出現が置き換えられます。 |
一般的に使用されるマッチング オブジェクト メソッド | 説明 |
##group(num =0)
Default は、一致するオブジェクト全体を返すか、番号付きの特定のサブグループを返します。 num |
|
groups(default=None)
次の内容を含むタプルを返します。一致するすべてのサブグループ。成功した一致がない場合は、空のタプルが返されます。 |
|
#span()
|
|
一般的に使用されるモジュール属性。そのほとんどは正規表現関数の変更に使用されます
説明 |
|
##re .I
一致で大文字と小文字を区別しないようにします (大文字と小文字を無視します) |
| re.S
.(ドット) は何でも一致しますn を除くすべての文字 (re.S マークを除く) (ドット) はすべての文字に一致します |
##re.M |
複数行の一致、^ と $## に影響します
| #re.U | Unicode 文字セットに従って文字を解析します。 \w、\W、\b、および \B
| re.X | に影響します。このフラグにより、より柔軟な書式設定が可能になり、正規表現の作成が容易になります。一般的な使用法を理解する
|
re module |
compile() 関数を使用して正規表現の文字列形式を変換します正規表現オブジェクトにコンパイルされます。
-
は、正規表現オブジェクトによって提供される一連のメソッド ( match() など) を通じてテキストと一致します。一致結果である Match- オブジェクトを取得します。
最後に、 Match オブジェクトによって提供されるプロパティとメソッドを使用します (例: group ()- ) 必要に応じて情報を取得し、その他の操作を実行します。
モジュールの使用例
インポートモジュール
import re
compile()関数
compile 関数は、正規表現をコンパイルし、パターン オブジェクトを生成するために使用されます。その一般的な使用形式は次のとおりです: import re
# 将正则表达式编译成pattern对象
pattern = re.compile(r'\d+')
正規表現オブジェクトにコンパイルした後、前述の正規表現を使用できます上記の式オブジェクトメソッド。
match()メソッド
match メソッドは、文字列の先頭を見つけるために使用されます (開始位置を指定することもできます)。 1 回 一致すると、一致する結果がすべて検索されるのではなく、一致する結果が見つかった場合に返されます。その一般的な使用形式は次のとおりです。 match(string[, pos[, endpos]]) このうち、string は照合する文字列で、pos と endpos はオプションのパラメータで、 string.## 位置、デフォルト値はそれぞれ 0 と len (文字列長) です。したがって、pos と endpos を指定しない場合、match メソッドはデフォルトで文字列の先頭と一致します。 一致に成功した場合は Match オブジェクトが返され、一致しなかった場合は None が返されます。 rreeee
|
以上がPython の re モジュールと正規表現の紹介 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。