検索
正規表現Oct 11, 2024 am 10:25 AM

Regular Expressions

これを想像してください。Web サイトにサインアップしようとして、電子メールとパスワードを入力すると、「入力したユーザー名またはパスワードは無効です。もう一度お試しください。」というメッセージが表示されます。 」

コンピュータは、入力したユーザー名またはパスワードが無効であることをどのように正確に認識するのでしょうか?その答えは、正規表現 と呼ばれる非常に強力なツールです。

正規表現とは何ですか?

正規表現、または略して regex は、テキスト内のすべての種類の文字と一致するために使用されるパターンです。正規表現の利点は、必要なものを何でも検索できるように設計できることです。

正規表現パターンの仕組み

正規表現パターンは、完全に完全に一致するテキスト内の文字を検索するのと同じくらい簡単です。たとえば、パターン:

パスワード

リテラルテキスト「パスワード」と一致します。この特定のパターンでは大文字と小文字が区別されるため、p が大文字であるためテキスト「パスワード」は一致しません。

複雑な正規表現パターン

ほとんどの Web サイトでは、次の要件を満たすためにパスワードが必要です:

  • 小文字を含める必要があります
  • 大文字を含める必要があります
  • 数字を含める必要があります
  • 単語以外の文字を含める必要があります
  • 少なくとも 8 文字の長さである必要があります

これらの要件を検索するパターンを作成するにはどうすればよいでしょうか?鍵は正規表現のメタ文字にあります。 メタキャラクター は、文字の種類に一致する事前定義された短縮表現です。

要件を満たす

最初の要件を渡すために使用できるメタキャラクターは次のとおりです:

[a-z]

括弧は、範囲の開始位置と終了位置をコンピューターに指示するために使用されます。 a-z は、a-z の範囲の小文字を検索するために使用されます。


[A-Z]

a ~ z と同様に、A ~ Z は大文字の文字を検索します。 2 番目の要件に合格しました。


d

このメタキャラクターは 3 番目の要件を満たしており、コンピューターに任意の数字を検索して一致させるよう指示します。


W

このメタキャラクターは単語以外の文字に一致するため、4 番目の引数を渡すために使用できます。 Word の文字には、大文字かどうかに関係なく、任意の文字、任意の数字、およびアンダースコアが含まれます。


{8,}

中括弧は、その前にあるものを x 回一致させるようにコンピューターに指示する特殊文字です。括弧内にカンマが含まれている場合は、少なくとも x 回前にあったものと一致するように変更されます。 2 番目の数値をカンマの後に置くと、その前のパターンが最大 y 回実行されます。カンマの後に数値を入力しない場合、コンピューターはその数値を無限大であると解釈します。

すべてをまとめる

いくつかの追加のメタキャラクターの助けを借りて:

^ テキストの始まりを示すために使用されます
$ テキストの終わりを示すために使用されます
() 式をグループ化するために使用されます
(?=) テキストの先読みに使用します
。任意の文字と一致します
* 0 回から無制限の回数まで前のトークンと一致します

これで、パスワードの正規表現パターンをまとめることができます。最終的な結果は次のようになります。

^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*W).{8,}$

結論

この時点で、正規表現がいかに強力であるかを理解したでしょう。これは氷山の一角にすぎません。これらは、入力の検証、テキストの一致、テキストの検索と置換などに使用できます。

この記事に興味を持っていただけた場合は、以下のリンクをいくつかチェックしてみることをお勧めします。

正規表現について詳しくは、次の記事をご覧ください:
正規表現
Python の正規表現 - Google Education
独自の正規表現を書いて実験するには、regex101

にアクセスしてください。

壁紙ソース

以上が正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は?LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は?Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?HTMLを解析するために美しいスープを使用するにはどうすればよいですか?Mar 10, 2025 pm 06:54 PM

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

TensorflowまたはPytorchで深い学習を実行する方法は?TensorflowまたはPytorchで深い学習を実行する方法は?Mar 10, 2025 pm 06:52 PM

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は?あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は?Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

人気のあるPythonライブラリとその用途は何ですか?人気のあるPythonライブラリとその用途は何ですか?Mar 21, 2025 pm 06:46 PM

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

Pythonでコマンドラインインターフェイス(CLI)を作成する方法は?Pythonでコマンドラインインターフェイス(CLI)を作成する方法は?Mar 10, 2025 pm 06:48 PM

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

Pythonの仮想環境の目的を説明してください。Pythonの仮想環境の目的を説明してください。Mar 19, 2025 pm 02:27 PM

この記事では、Pythonにおける仮想環境の役割について説明し、プロジェクトの依存関係の管理と競合の回避に焦点を当てています。プロジェクト管理の改善と依存関係の問題を減らすための作成、アクティベーション、およびメリットを詳しく説明しています。

正規表現とは何ですか?正規表現とは何ですか?Mar 20, 2025 pm 06:25 PM

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

DVWA

DVWA

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。