目次
正規表現についての簡単な話、正規表現
1. 正規表現とは何ですか?
たとえば、文字列が正しいメール、電話、IP などであるかどうかを確認したい場合、正規表現を使用すると非常に便利です。
たとえば、Web ページから画像を取得する場合は、正規表現を使用して正確に一致させることができます。
たとえば、携帯電話番号の真ん中の 4 桁を非表示にして、このパターン (123****4567) に変更したい場合は、正規表現を使用すると非常に便利です。
以下に正規表現について簡単に紹介します。
JavaScript で正規表現を使用するには 2 つの方法があります:
提供されるメソッドは次のとおりです:
最初の関数は: Perl 正規表現関数です
2 つ目は: POSIX 正規表現関数です
6.まとめ
1.強力な機能
2. シンプルで便利
3. 基本的にすべての言語がサポートされています
4. 学ぶのは簡単、応用は奥深い
正規表現
ホームページ バックエンド開発 PHPチュートリアル 正規表現に関する簡単な説明、正規表現_PHP チュートリアル

正規表現に関する簡単な説明、正規表現_PHP チュートリアル

Jul 13, 2016 am 10:21 AM
正規表現

正規表現についての簡単な話、正規表現

1. 正規表現とは何ですか?

簡単に言うと、正規表現(正規表現)は文字列のマッチングを処理するための言語です。

正規表現は文字列一致パターンを記述します。これを使用して、文字列に特定の部分文字列が含まれているかどうかを確認し、一致した部分文字列に対して「削除」または「置換」操作を実行できます。

2. 正規表現の適用

正規表現は実際の開発プロセスにおいて非常に実用的であり、いくつかの複雑な文字列処理の問題を迅速に解決できます。以下に正規表現のアプリケーションをいくつか簡単に分類します。

最初のタイプ: データ検証

たとえば、文字列が正しいメール、電話、IP などであるかどうかを確認したい場合、正規表現を使用すると非常に便利です。

2 番目のタイプ: コンテンツ検索

たとえば、Web ページから画像を取得する場合は、正規表現を使用して正確に一致させることができます。

3 番目のタイプ: コンテンツの置換

たとえば、携帯電話番号の真ん中の 4 桁を非表示にして、このパターン (123****4567) に変更したい場合は、正規表現を使用すると非常に便利です。

3. 正規表現の内容とは

以下に正規表現について簡単に紹介します。

1. 正規表現のいくつかの重要な概念

部分表現: 正規表現において、「()」で囲まれた内容が使用される場合、それを「部分表現」と呼びます
  • キャプチャ: 部分式と一致した結果は、システムによってバッファーに配置されます。このプロセスは「キャプチャ」と呼ばれます
  • 後方参照: 「n」を使用します。n は数字であり、参照の前の特定のバッファー間の内容を示します。これを「後方参照」と呼びます
  • 2. 数量修飾子

X+ 意味: 1 つ以上
  • X* は 0 以上を表します
  • ×? 表す: 0 または 1
  • X{n} の意味: n
  • X{n,} は次を表します: 少なくとも n
  • X{n,m} は次のことを意味します: n から m まで、貪欲な原則は、最後に 1 を追加すると可能な限り多く一致しますか? 、それなら不欲主義です
注: X は検索する文字を表します

3. キャラクター修飾子

d の意味: 数字 [0-9] と一致します
  • D は次を表します: 数字以外の文字 [^0-9] と一致します
  • w の意味: アンダースコア [0-9a-zA-Z_] を含む単語文字に一致します
  • W の意味: 単語以外の文字 [^0-9a-zA-Z_] に一致します
  • s の意味: 任意の空白文字、スペース、復帰文字、タブ文字と一致する
  • S の意味: 空白以外の文字と一致する
  • を表します: 任意の 1 文字と一致します
  • その他、以下の種類があります:

範囲文字: [a-z]、[A-Z]、[0-9]、[0-9a-z]、[0-9a-zA-Z]

任意の文字: [abcd]、[1234]

含まれない文字: [^a-z]、[^0-9]、[^abcd]

4. ロケーター

^ 意味: 始まりのロゴ
  • $ 意味: 終了マーク
  • b は単語の境界を表します
  • B は非単語境界を表します
  • 5. エスケープ文字

特定の特殊文字と一致するために使用されます
  • 6. 一致するキャラクターを選択します

| 複数のルールに一致する可能性があります
  • 7.特別な使い方

(?=): 前方参照: 指定された内容で終わる文字列と一致します
  • (?!): 否定検索: 指定された内容で終わらない文字列と一致します
  • (?:): 選択された一致のコンテンツをバッファーに入れません
  • 4. Javascriptでの正規表現の使い方

JavaScript で正規表現を使用するには 2 つの方法があります:

最初の方法: RegExp クラスを使用する

提供されるメソッドは次のとおりです:

test(str): 文字列マッチングでパターンに一致する文字列があるかどうかを確認し、true/falseを返します
  • exec(str): 一致するパターンに一致する文字列を返します。存在しない場合は、null を返します。
  • //正規表現に部分式がある場合、execメソッド使用時

///返されるものは次のとおりです: result[0] = 一致する結果、result[1] = 部分式 1 の一致する結果...

2 番目の方法: String クラスを使用します

提供されるメソッドは次のとおりです:

検索: パターンに一致する文字列が出現する位置を返します。出現しない場合は、-1を返します

    match: 一致するパターンに一致する文字列を返します。存在しない場合は、null を返します。
  • replace: 一致するパターンに一致する文字列を置換します
  • 分割: 区切り文字として一致するパターンを持つ文字列を分割し、配列を返します
  • 5. PHP での正規表現の使い方
  • PHP では正規表現を使用する関数が 2 つあります:

最初の関数は: Perl 正規表現関数です

提供されるメソッドは次のとおりです:

  • preg_grep -- パターンに一致する配列セルを返します
  • preg_match_all -- グローバル正規表現マッチングを実行します
  • preg_match -- 正規表現のマッチング
  • preg_quote -- 正規表現文字をエスケープする
  • preg_replace_callback -- コールバック関数を使用して正規表現の検索と置換を実行します
  • preg_replace -- 正規表現の検索と置換を実行します
  • preg_split -- 正規表現を使用して文字列を分割します

2 つ目は: POSIX 正規表現関数です

提供されるメソッドは次のとおりです:

  • ereg_replace -- 正規表現を置換します
  • ereg -- 正規表現マッチング
  • eregi_replace -- 大文字と小文字を区別しない置換正規表現
  • eregi -- 大文字と小文字を区別しない正規表現のマッチング
  • split -- 正規表現を使用して文字列を配列に分割します
  • spliti -- 正規表現を使用して、大文字と小文字を区別せずに文字列を配列に分割します
  • sql_regcase -- サイズに依存しない一致のための正規表現を生成します

6.まとめ

正規表現は特定の機能を実装するためのツールです:

1.強力な機能

正規表現内のさまざまな修飾子のさまざまな組み合わせにより、さまざまな機能が実現されます。複雑な関数を実装するには、それを正確に一致させる方法が必要になることがあります。

2. シンプルで便利

通常、文字列コンテンツを検索するときは、特定の文字列のみを検索できますが、正規表現を使用すると、あいまい検索を実行できます。これにより、より高速で便利になり、正規表現文字列のみが必要になります。

3. 基本的にすべての言語がサポートされています

現在、JAVA、PHP、JavaScript、C#、C++などの主流言語はすべて正規表現をサポートしています。

4. 学ぶのは簡単、応用は奥深い

正規表現を学ぶのは早くて簡単ですが、実際の開発において効率的で正確な正規表現を記述するには、依然として長い期間の試行と蓄積が必要です。

正規表現

正規表現は、簡単な方法で強力な機能を実現するために携帯電話番号やメールアドレスなどを決定するために js でよく使用されます

記号の説明

文字の説明
\ 次の文字を特殊文字またはリテラル文字としてマークします、後方参照、または 8 進エスケープ文字。たとえば、「n」は文字「n」と一致します。 「\n」は改行文字に一致します。シーケンス '\\' は "\" に一致し、"\(" は "(" に一致します。
^ は入力文字列の先頭に一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、^ は '\n' または ' にも一致します。 \r ' の後。
$ は入力文字列の末尾に一致します。RegExp オブジェクトの Multiline プロパティが設定されている場合、$ は前の部分式と 0 回一致します。たとえば、zo* は「z」および「zoo」に一致します。たとえば、「zo+」は前の部分式に 1 回以上一致します。 + {1,} と同等。たとえば、「do(es)?」は「do」または「. Does」と一致します。 do".? {0,1} と同等です。
{n} n は負ではない整数です。特定の n 回一致します。たとえば、「o{2}」は「Bob」「o」と一致できませんが、一致することはできます。 「food」の 2 つの o に一致します。
{n,} n は負ではない整数です。たとえば、「o{2,}」は「Bob」の ' に一致しますが、「foooood」のすべての o に一致します。 'o{1,}' は 'o+' と等価です。 'o{0,}' は 'o*' と等価です。ここで、n ? の間に他のリミッター (*、+、?、{n) が続く場合、マッチング モードは非貪欲です。非貪欲モードでは、検索された文字列ができるだけ少なく一致しますが、デフォルトの貪欲モードでは、文字列「oooo」の場合、単一の「o」が一致します。 'o+' は「\n」を除く任意の 1 文字と一致します。「\n」を含む任意の文字と一致するには、「[.\n]」のようなパターンを使用します。たとえば、次のようになります。 z...全文>>




正規表現とは何ですか?例を教えてください

現在、正規表現は、*nix (Linux、Unix など)、HP およびその他のオペレーティング システム、PHP、C#、Java およびその他の開発環境、および多くのアプリケーション ソフトウェアを含む多くのソフトウェアで広く使用されています。正規表現のシャドウを参照してください。

正規表現を使用すると、強力な機能を簡単な方法で実現できます。シンプルで効果的でありながら強力であるために、正規表現コードはより難しく、習得するのが簡単ではないため、使い始めた後は、特定のリファレンスを参照して使用するのが比較的簡単で効果的です。

例: ^.+@.+\\..+$

2. 正規表現の歴史

正規表現の「祖先」は、人間の神経系の仕組みに関する初期の研究に遡ることができます。 2 人の神経生理学者、ウォーレン・マカロックとウォルター・ピッツは、これらのニューラル ネットワークを記述する数学的方法を開発しました。
1956 年、Stephen Kleene という数学者は、McCulloch と Pitts の初期の研究に基づいて、正規表現の概念を導入した「ニューラル ネットワーク イベントの表現」というタイトルの論文を発表しました。正規表現は、彼が「正規集合の代数」と呼ぶ式を記述するために使用されるため、「正規表現」という用語が付けられています。

その後、この研究は、Unix の主な発明者である Ken Thompson による計算検索アルゴリズムを使用した初期の研究に適用できることが判明しました。正規表現を最初に実際に応用したのは、Unix の qed エディターでした。

彼らが言うように、残りは既知の歴史です。その時から現在に至るまで、正規表現はテキストベースのエディターや検索ツールの重要な部分であり続けています
3. 正規表現の定義
正規表現は、文字列に特定の部分文字列が含まれているかどうかを確認するために使用されます。一致する部分文字列を置き換えたり、文字列から特定の条件を満たす部分文字列を抽出したりする。

ディレクトリをリストする場合、dir *.txt または ls *.txt 内の *.txt は正規表現ではありません。これは、ここでの * の意味が正規表現の * とは異なるためです。
正規表現は、通常の文字 (a から z までの文字など) とメタキャラクターと呼ばれる特殊文字で構成されるリテラル パターンです。正規表現は、文字パターンと検索文字列を照合するテンプレートとして機能します。

3.1 通常の文字
は、メタキャラクターとして明示的に指定されていないすべての印刷文字と非印刷文字で構成されます。これには、すべての大文字と小文字のアルファベット、すべての数字、すべての句読点、および一部の記号が含まれます。

3.2 非印刷文字 文字 意味
\cx x で指定された制御文字と一致します。たとえば、\cM は Control-M または復帰文字と一致します。 x の値は、A ~ Z または a ~ z のいずれかでなければなりません。それ以外の場合、c はリテラルの「c」文字として扱われます。
\f はフォーム フィード文字と一致します。 \x0c および \cL に相当します。
\n は改行文字と一致します。 \x0a および \cJ に相当します。
\r は復帰文字と一致します。 \x0d および \cM に相当します。
\s は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 [ \f\n\r\t\v] と同等。
\S は空白以外の文字に一致します。 [^ \f\n\r\t\v] と同等。
\t はタブ文字と一致します。 \x09 および \cI に相当します。
\v は垂直タブ文字と一致します。 \x0b および \cK に相当します。

3.3 特殊文字

いわゆる特殊文字は、上記の「*.txt」の * のように、特別な意味を持つ文字であり、単純... 全文の続き >>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/856578.html技術記事正規表現についての簡単な説明、正規表現 1. 正規表現とは何ですか? 簡単に言うと、正規表現 (正規表現) は、文字列のマッチングを処理するための言語です...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 正規表現の検証: 数値形式の検出 PHP 正規表現の検証: 数値形式の検出 Mar 21, 2024 am 09:45 AM

PHP 正規表現の検証: 数値形式の検出 PHP プログラムを作成する場合、ユーザーが入力したデータを検証する必要がよくあります。一般的な検証の 1 つは、データが指定された数値形式に準拠しているかどうかを確認することです。 PHP では、正規表現を使用してこの種の検証を行うことができます。この記事では、PHP 正規表現を使用して数値形式を検証する方法を紹介し、具体的なコード例を示します。まず、一般的な数値形式の検証要件を見てみましょう。 整数: 0 ~ 9 の数字のみが含まれ、プラスまたはマイナス記号で始めることができ、小数点は含まれません。浮動小数点

正規表現を使用して Golang でメールアドレスを検証するにはどうすればよいですか? 正規表現を使用して Golang でメールアドレスを検証するにはどうすればよいですか? May 31, 2024 pm 01:04 PM

正規表現を使用して Golang で電子メール アドレスを検証するには、次の手順に従います。 regexp.MustCompile を使用して、有効な電子メール アドレス形式と一致する正規表現パターンを作成します。 MatchString 関数を使用して、文字列がパターンと一致するかどうかを確認します。このパターンは、次のようなほとんどの有効な電子メール アドレス形式をカバーします。 ローカル ユーザー名には文字、数字、および特殊文字を含めることができます: !.#$%&'*+/=?^_{|}~-` ドメイン名には少なくとも次の文字が含まれている必要があります。 1 文字の後に文字、数字、またはハイフンを続けます。トップレベル ドメイン (TLD) は 63 文字を超えることはできません。

Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Jun 02, 2024 am 09:00 AM

Go では、正規表現を使用してタイムスタンプを照合できます。ISO8601 タイムスタンプの照合に使用されるような正規表現文字列をコンパイルします。 ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。 regexp.MatchString 関数を使用して、文字列が正規表現と一致するかどうかを確認します。

Go言語の正規表現と文字列処理をマスターする Go言語の正規表現と文字列処理をマスターする Nov 30, 2023 am 09:54 AM

最新のプログラミング言語として、Go 言語は強力な正規表現と文字列処理関数を提供し、開発者が文字列データをより効率的に処理できるようにします。開発者にとって、Go 言語での正規表現と文字列処理を習得することは非常に重要です。この記事では、Go 言語の正規表現の基本概念と使い方、Go 言語を使用して文字列を処理する方法を詳しく紹介します。 1. 正規表現 正規表現は文字列のパターンを記述するためのツールであり、文字列の照合、検索、置換などの操作を簡単に実装できます。

PHP 正規表現: 厳密な一致とあいまいな包含の除外 PHP 正規表現: 厳密な一致とあいまいな包含の除外 Feb 28, 2024 pm 01:03 PM

PHP 正規表現: 完全一致と除外 ファジー包含正規表現は、プログラマがテキストを処理する際に効率的な検索、置換、フィルタリングを実行できる強力なテキスト マッチング ツールです。 PHP では、正規表現は文字列処理やデータ マッチングにも広く使用されています。この記事では、PHP で完全一致を実行し、あいまい包含操作を除外する方法に焦点を当て、具体的なコード例を使用して説明します。完全一致 完全一致とは、バリエーションや余分な単語ではなく、正確な条件を満たす文字列のみと一致することを意味します。

Goで正規表現を使用してパスワードを確認するにはどうすればよいですか? Goで正規表現を使用してパスワードを確認するにはどうすればよいですか? Jun 02, 2024 pm 07:31 PM

Go で正規表現を使用してパスワードを検証する方法は次のとおりです。 パスワードの最小要件 (小文字、大文字、数字、特殊文字を含む少なくとも 8 文字) を満たす正規表現パターンを定義します。 regexp パッケージの MustCompile 関数を使用して正規表現パターンをコンパイルします。 MatchString メソッドを使用して、入力文字列が正規表現パターンと一致するかどうかをテストします。

正規表現のワイルドカードとは何ですか? 正規表現のワイルドカードとは何ですか? Nov 17, 2023 pm 01:40 PM

正規表現のワイルドカードには、「.」、「*」、「+」、「?」、「^」、「$」、「[]」、「[^]」、「[a-z]」、「[A-Z]」が含まれます。 、"[0-9]"、"\d"、"\D"、"\w"、"\W"、"\s&quo

Golangで正規表現を使用してURLを検出するにはどうすればよいですか? Golangで正規表現を使用してURLを検出するにはどうすればよいですか? May 31, 2024 am 10:32 AM

正規表現を使用して Golang で URL を検出する手順は次のとおりです。 regexp.MustCompile(pattern) を使用して正規表現パターンをコンパイルします。パターンは、プロトコル、ホスト名、ポート (オプション)、パス (オプション)、およびクエリ パラメーター (オプション) と一致する必要があります。 regexp.MatchString(pattern,url) を使用して、URL がパターンと一致するかどうかを検出します。

See all articles