正規表現パイソン紹介

reモジュールを使用します

re.match開始位置から始まるに一致する文字列に一致スクラッチコンプライアンスルール、首尾よくマッチしたオブジェクト、比類のない正常な戻りなしを返します。

import re
# re.match(正则表达式,要匹配的字符串)
result = re.match("hello","helloworld")
print(result) # <re.Match object; span=(0, 5), match='hello'>
# 可以使用group方法来提取数据
print(result.group()) # hello

またはWRITE

import re
# 这样避免多次定义正则表达式
result = re.compile("hello")
result .match("helloworld")
print(result.group())

文字

文字 機能
(\ nを除く)任意の文字と一致
[] マッチング文字は[]にリストされています
\ dは 数字をマッチング、それは、0-9であります
\ D マッチング非デジタル、それが数値ではありません
\ sの 空白スペース、タブキーをマッチング
\ S 非空白マッチング
\ワット マッチング単語文字、つまり0-9、AZ、AZ
\ W 非単語文字と一致

それは数を表し

文字 機能
* 文字は、それは必須では試合前にゼロまたは無限回現れます
+ 文字は、少なくとも一回、つまり、試合前に複数回または無制限回表示されます
1又はなしのいずれかであることが、先行文字0または1回出現と一致
{M} M回文字が試合前に表示されます
{M} 文字は、少なくともmは試合の前に現れました
{M、N} 一致する文字がmからn回に表示される前に

境界表現

文字 機能
^ 文字列の先頭にマッチします
$ 文字列の末尾
\ B 単語の境界にマッチします
\ B 非ワード境界をマッチング

パケットマッチング

文字 機能
| 任意の式で一致について
(AB) グループとしてのカッコ内の文字
\ナ 文字列に一致ヌム参照パケット
(?P <名前>) エイリアスからのパケットへ
(?P =名) 参考パケットエイリアス名を文字列に一致しています

欲と非貪欲

デフォルトの数量詞でPythonは貪欲で、いつものように多くの文字に一致するようにしてみてください。非貪欲逆に、いつものようにいくつかの文字を試してみてください。
*では、?、+、{M、N}が続きますか?欲は非貪欲になります。

import re
re.match(r"aa(\d+)","aa2343ddd").group() # 贪婪模式,匹配aa2343
re.match(r"aa(\d+?)","aa2343ddd").group() # 非贪婪模式,匹配aa2

reモジュールのその他の用途

検索(正規表現、マッチする文字列)

  • ルールに最初の行に一致するすべての文字列、文字列を参照し、最初のものと一致する文字列全体を閲覧し、成功したリターンなしと一致しませんでした。
  • 一致()関数と検索()関数基本的に同一の機能であり、それは(一致と同じではない)文字列の規則に従う文字列、検索(の開始と一致)グローバル文字列の最初のルール近い一致であります文字列。

findAll(正規表現、マッチする文字列)

  • リストに文字列を一致させるために一緒にすべてのルールを、文字列に一致するすべての文字列を参照し、空のリストの成功を一致しませんでした。

サブ(正規表現は、文字列を置換するために、文字列が一致します)

  • また、正常マッチした文字列の指定した位置

マッチモード

re.compile()第2のパラメータフラグ、re.match、re.search、第四パラメータと第3のパラメータフラグre.subを変更することにより、パターンに一致するように変更することがre.findall。(あまり使用一般的なデフォルトができ、特別な要件がない限り)
|修正|説明|
| - | - |
| re.I |一致は大文字と小文字を区別しません|
| re.L |やってローカライズ認識(ロケール対応)マッチング|
| re.M |影響を与える複数行のマッチング、^と$ |
| re.S |などの改行を含む、一致するすべての文字、|。
| re.U |分析文字に基づいてUnicode文字セット。|このフラグは、\ W、\ bの、\ Bを、wは\影響を与える
あなたが理解しやすい正規表現を書きますようにあなたの形式でより多くの柔軟性を与えることによって、マーク| | re.X |

おすすめ

転載: www.cnblogs.com/lxy0/p/11407150.html