この記事では、Python の正規表現と re ライブラリについての紹介 (コード例) を紹介します。一定の参考になる内容です。困っている友人は参考にしてください。お役に立てれば幸いです。
正規表現は、検索パターンを定義する一連の文字です。通常、このパターンは、文字列に対する「検索」または「検索と置換」操作、または入力検証のための文字列検索アルゴリズムによって使用されます。
1. 正規表現の構文
. 任意の 1 文字を表します
[] 文字セット単一文字の値の範囲を指定します
[^] 非文字セット、単一文字の除外範囲を指定します
*前の文字は 0 回または無限に展開されます
前の文字は 1 回または無限に展開されます
? 前の文字は 0 回展開されますまたは 1 回の展開
|左右の式のいずれか 1 つで
- #{m}前の文字を m 回展開します
- {m,n}前の文字を m 回 n 回展開します ##^文字列の先頭と一致します
- ##$文字列
- () グループ化マークの末尾と一致します。内部的に使用できるのは | 演算子のみです。
- d 数値、同等[0-9]
- w ワード文字まで。[A-Z,a-z,0-9]
Re ライブラリは Python の標準ライブラリで、主に文字列マッチングに使用されます呼び出し方法: import re
2.1. 正規表現文字列の種類
re ライブラリ 生の文字列タイプは正規表現を表すために使用され、
r'text'
生の文字列はエスケープ文字を含まない文字列です。 , それは文字列です 文字はエスケープされますが、生の文字列はエスケープされません、エスケープ記号が正規表現に現れるため、面倒なことを避けるために生の文字列を使用します#2.2. ライブラリのメイン関数 function
- #re.search
- () 文字列内の正規表現の最初の位置を検索し、一致オブジェクトを返します
- 文字列の先頭から正規表現を照合し、一致オブジェクトを返します
- 文字列を検索します、リスト型の一致するすべての部分文字列を返します
- 正規表現の一致結果に従って文字列を分割し、リスト型を返します
- 文字列を検索し、一致する結果の反復タイプを返します。各反復要素は一致オブジェクトです
- 文字列内の正規表現に一致するすべての部分文字列を置換し、置換された文字列を返します
2.2.1 . re.search(pattern, string, flags=0)
##pattern : 正規表現の文字列またはネイティブ文字列表現
string : 照合対象の文字列
flags : 正規表現を使用する場合 制御タグ
-
re.I re.IGNORECASE 正規表現の大文字と小文字を無視します。[A-Z] は小文字と一致します。
re .M re.MULTILINE 正規表現の ^ 演算子は次のことができます。指定された文字列の各行を一致として開始します
re.S re.DOTALL 正規表現文字の . 演算はすべての文字に一致し、デフォルトでは改行を除くすべての文字に一致します
-
例:
import re match = re.search(r'[1-9]\d{5}', 'BIT 100081') if match: print(match.group(0)) 结果为100081
2.2.2. re.match(pattern, string, flags= 0)
正規表現の先頭から一致します。文字列を返し、一致オブジェクトを返します
パラメータは検索関数と同じです例:
import re match = re.match(r'[1-9]\d{5}', 'BIT 100081') print(match.group(0)) 结果会报错,match为空,因为match函数是 从字符串开始位置开始匹配,因为从开始位置没有匹配到,所以为空
2.2.3.re.findall(pattern, string, flags=0)
文字列を検索し、一致するすべての部分文字列をリスト型で返します。
例:
import re ls=re.findall(r'[1-9]\d{5}', 'BIT100081 TSU100084') print(ls) 结果为['100081', '100084']
2.2 .4. re.split(pattern, string, maxsplit=0 、flags=0)
正規表現の一致結果に従って文字列を分割し、リスト型を返します
maxsplit: 分割の最大数。残りの部分は最後の要素として出力
- #例:
import re re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084') 结果['BIT', ' TSU', ' '] re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084', maxsplit=1) 结果['BIT', ' TSU100081']
2.2.5.re.finditer(pattern, string, maxsplit =0, flags=0)
パラメータは search と同じです。
Example:import re
for m in re.finditer(r'[1-9]\d{5}', 'BIT100081 TSU100084'):
if m:
print(m.group(0))
结果为
100081
100084
2.2.6. re. sub(pattern, repl, string, count=0, flags=0)
文字列内の正規表現に一致するすべての部分文字列を置換し、置換後の文字列を返します
#repl : 文字列に一致する文字列を置換します。
- #count: 一致する文字列の最大置換数
- Example:
-
import re re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT100081 TSU100084') 结果为 'BIT:zipcode TSU:zipcode'
2.3 Re ライブラリの別の同等の使用法 (オブジェクト指向)
rst=re.search(r'[1-9]\d{5}', 'BIT 100081') 函数式的调用,一次性操作
pat=re.compile(r'[1-9]\d{5}') rst=pat.search('BIT 100081') 编译后多次操作
regex=re.complie(pattern,flags=0)
以下はオブジェクトの Match 属性です
.string 照合するテキスト
- .re 照合に使用するパターン オブジェクト (正規表現モード)
- #.pos 正規表現検索テキストの開始位置
- #.endpos 正規表現検索テキストの終了位置
#Match オブジェクトのメソッドは次のとおりです。
- .group(0) 一致した文字列を取得します
- .start() 元の文字列の先頭の文字列と一致します
- .end() 元の文字列の末尾の文字列と一致します
- .span() returns (.start(), .end())
と一致する最小の部分文字列
- # を返します。 #*? before 文字は 0 回または無限に展開され、最小一致は
- #? 前の文字は 1 回または無限に展開され、最小一致は
##?? 前の文字は 0 回または 1 回展開されます。最小一致は
{m,n} です? 前の文字は m 回から n 回展開されます(両端を含む)、最小一致は
- 出力の長さが異なる可能性がある限り、演算子の後に ? を追加して最小一致になります
以上がPython 正規表現と re ライブラリの概要 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

pythonusesahybridmodelofcompilation andtertation:1)thepythoninterpretercompilessourcodeodeplatform-indopent bytecode.2)thepythonvirtualmachine(pvm)thenexecuteTesthisbytecode、balancingeaseoputhswithporformance。

pythonisbothintersedand compiled.1)it'scompiledtobytecode forportabalityacrossplatforms.2)bytecodeisthenは解釈され、開発を許可します。

loopsareideal whenyouwhenyouknumberofiterationsinadvance、foreleloopsarebetterforsituationsは、loopsaremoreedilaConditionismetを使用します

henthenumber ofiterationsisknown advanceの場合、dopendonacondition.1)forloopsareideal foriterating over for -for -for -saredaverseversives likelistorarrays.2)whileopsaresupasiable forsaresutable forscenarioswheretheloopcontinupcontinuspificcond

pythonisnotpurelyLepted; itusesahybridapproachofbytecodecodecodecodecodecodedruntimerttation.1)pythoncompilessourcodeintobytecode、whodythepythonvirtualmachine(pvm).2)

ToconcatenateListsinpythothesheElements、使用:1)Operatortokeepduplicates、2)asettoremoveduplicates、or3)listcomplunting for controloverduplicates、各メトドハスディフェルフェルフェントパフォーマンスアンドソーダーインプリテーション。

pythonisantertedlanguage、useaseofuseandflexibility-butfactingporformantationationsincriticalapplications.1)解釈されたlikepythonexecuteline-by-lineを解釈します

Useforloopswhenthenumberofiterationsisknowninadvance、andwhiloopswheniterationsdependonacondition.1)forloopsareidealforsecenceslikelistoranges.2)


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ドリームウィーバー CS6
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
