ホームページ ウェブフロントエンド jsチュートリアル 正規表現前後のルックアラウンドの詳細説明tutorial_正規表現

正規表現前後のルックアラウンドの詳細説明tutorial_正規表現

Jun 28, 2017 pm 01:47 PM
探す 表現

この記事では主にチュートリアルの前後で正規表現lookaroundを紹介し、特定の問題に基づいて前方参照関数と後方参照関数の実装テクニックと注意点を分析します。ルックアラウンド前後の正規表現チュートリアルについて説明します。参考として、次のようにみんなと共有してください。

注: すべての例では、正規表現の一致結果はソース テキストの

[] の間に含まれています。一部の例は、Java を使用して実装されます。 Java 自体での正規表現の使用法については、対応する場所で説明します。すべての Java サンプルは JDK1.6.0_13 でテストされています。 1. 問題の概要

HTML ページで、ページのタグ、つまり、 と </ の間のテキストを一致させるなど、タグのペアの間のテキストを一致させます。 title>: </strong> </p>Text: <p><head><TITLE>私のページへようこそ

正規表現: <[Tt][Ii][Tt][Ll] [ええ] >.*?

結果:

私のページへようこそ</ title>] <p></head><span style="color: #3366ff"><span style="color: #ff6600"></span>分析: <[Tt][Ii][Tt][Ll][Ee]> このパターンは、タイトル タグとテキストが一致することを意味します。ただし、タグ自体ではなくタイトルタグ間のテキストのみが必要なので、完璧ではありません。この問題を解決するには、ルックアラウンドを使用する必要があります。 </span></p> <p>2. 前方検索 </p> <p><strong>前方検索では、一致する必要があるが結果として返されないパターンを指定します。前方検索は、実際には ?= で始まり、= の後に照合対象のテキストが続く部分式です。 </strong></p>URL アドレスのプロトコル部分を照合する例を見てみましょう: <p></p>テキスト: <p>http://blog.csdn.net/mhmyqn</p> <p><span style="color: #3366ff">正規表現: .</span>+(?=:)</p> <p><span style="color: #3366ff">結果:</span>【http】</p> <p>://blog.csdn.net/mhmyqn<span style="color: #ff6600"></span><span style="color: #3366ff"> 分析: URL アドレスのプロトコル部分は: より前の部分で、パターン .+ は任意のテキストと一致し、部分表現 (?=: ) は : と一致しますが、一致した : は結果に表示されません。 ?= を使用して、正規表現エンジンに、: が見つかる限り問題はありませんが、最終的な戻り結果には含まれないことを示します。ここで前方一致 (?=:) を使用せず、(:) を直接使用すると、一致結果は http: になり、これには: が含まれますが、これは私たちが望むものではありません。 </span></p> <p>注: 前後検索における前後とは、検索するパターンとテキストの相対的な位置を指します。左が前、右が後ろです。つまり、前方検索は xxx(?=xxx)、後方検索は (?</p> <p><span style="color: #ff0000"></span> 3. 逆方向検索 </p> <p><strong>逆方向検索 </strong> 演算子 </p> は ?<= です。ただし、すべての正規表現実装が後方検索をサポートしているわけではありません。<p>JavaScript<a href="http://www.php.cn/wiki/996.html" target="_blank"> は後方検索をサポートしていません。 </a><a href="http://www.php.cn/wiki/48.html" target="_blank">たとえば、テキスト ($ で始まり、その後に数字が続く) で価格を検索する場合、結果には通貨記号は含まれません: </a></p>Text: <p>category1:$136.25,category2:$28,category3: $88.60</p> <p><span style="color: #3366ff">正規表現: </span>( ?<=$)d+(.d+)?</p> <p><span style="color: #3366ff">結果: </span>category1:$</p>【136.25】<p>,category2:$<span style="color: #3366ff">【28】<span style="color: #ff6600">,category3:$</span><span style="color: #ff6600"> 【88.60】</span></span><span style="color: #ff6600">分析: ( ?</span></p> <p>注: 前方検索パターンの長さは可変で、.、*、+; などのメタ文字を含めることができますが、後方検索パターンは固定長のみであり、.、*、+ などを含めることはできません。メタキャラクター。 </p> <p><span style="color: #ff0000"></span>4. 前方検索と後方検索を組み合わせる</p> <p><strong> 前方検索と後方検索を組み合わせて、前の </strong>HTML タグ間のテキストの問題を解決します</p>: <p><a href="http://www.php.cn/code/5011.html" target="_blank">Text: </a><head><TITLE>私のページへようこそ

正規表現: (?).*?(?= [Tt][Ii][Tt][ Ll ][ええ]>)

結果:<span style="color: #ff6600">【私のページへようこそ】</span>

分析:結果、問題は完全に解決されました。 (?<=<[Tt][Ii][Tt][Ll][Ee]>) は、 と一致しますが、それを消費しません。(?=</[Tt]) ][Ii][Tt][Ll][Ee]>) は、 と一致しますが、それを消費しません。最終的に返される一致結果には、タグ間のテキストのみが含まれます。

5. 前方検索と後方検索を無効にする

前述した前方検索と後方検索は、通常、返される一致結果のテキストの位置を決定するために使用されます。一致結果の前後にどのようなテキストがなければならないか)。この使い方を前方検索、前方検索と呼びます。指定されたパターンに一致しないテキストを検索する、負の前方検索と負の後方検索もあります。

前方および後方検索の演算子:

(?=) 正前方検索
(?!) 負の前方検索
(?& lt;= ) 正の後方検索
(? 負の後方検索

たとえば、テキスト内に価格 ($ で始まり、その後に数字が続きます) と数量があります。価格と数量を確認するには、まず価格を見てみましょう:

テキスト: この注文で 5 ドル節約できました。 (?<=$ )d+

結果: この注文でリンゴ 10 個、オレンジ 15 個、梨 10 個に対して

【$30】

を支払いました【$5】 を節約しました。

数量:

テキスト: リンゴ 10 個、オレンジ 15 個、梨 10 個に 30 ドル支払いました。

【10】

のリンゴ、【15】 の梨、そして

【10】

の梨を購入しました。 order.

分析: (? 6. まとめ前方検索と後方検索を使用すると、最終的な一致結果にどのコンテンツが含まれるかを正確に制御できます。前後の検索操作では、部分式を使用してテキストの一致操作が発生する場所を指定し、一致のみで消費はしないという効果を実現できます。

追記: 参考までに、さらに便利な正規表現ツールを 2 つ紹介します:

JavaScript 正規表現オンライン テスト ツール:

http://tools.jb51.net/regex/javascript 正規表現オンライン生成ツール:

http://tools.jb51.net/regex/create_reg

以上が正規表現前後のルックアラウンドの詳細説明tutorial_正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

「iPhoneを探す」をオフにする方法 「iPhoneを探す」をオフにする方法 Nov 09, 2023 pm 02:21 PM

iPhone で「探す」をオフにするとどうなりますか? 「iPhone を探す」は、紛失または盗難に遭ったデバイスを見つけるのに役立ちます。 「iPhone を探す」を有効にすると、地図上でデバイスの位置を追跡したり、サウンドを鳴らしたり、デバイスを見つけやすくしたりできます。 Find My には、他人が iPhone を使用できないようにするためのアクティベーション ロックも含まれています。 「iPhone を探す」をオフにすると、これらの機能がすべて失われるため、紛失した Apple デバイスの回復が困難になる場合があります。 「iPhone を探す」は非常に便利ですが、携帯電話を販売、寄付、下取りに出したり、バッテリー交換やその他のサービスに送ったりする場合は、この機能を無効にする必要があります。これにより、誰もあなたに関する情報にアクセスできなくなります

iPhoneで「探す」をオフにする4つの方法 iPhoneで「探す」をオフにする4つの方法 Feb 02, 2024 pm 04:15 PM

Apple の Find My アプリを使用すると、iPhone またはその他のデバイスの位置を特定して、紛失したり忘れられたりするのを防ぐことができます。 Find My はデバイスを追跡するのに便利なツールですが、プライバシーの問題が心配な場合、バッテリーを消耗したくない場合、またはその他の理由で無効にすることもできます。幸いなことに、iPhone で「探す」をオフにする方法はいくつかあり、この記事ですべて説明します。 iPhoneで「探す」をオフにする方法【4つの方法】 iPhoneで「探す」をオフにする方法は4つあります。方法 1 を使用して検索をオフにした場合は、検索を無効にするデバイスからこれを行うことができます。方法 2、3、4 を続行するには、「電話を探す」をオフにする iPhone の電源をオフにするか、

C# の Array.IndexOf 関数を使用して、配列内の要素のインデックスを検索します。 C# の Array.IndexOf 関数を使用して、配列内の要素のインデックスを検索します。 Nov 18, 2023 am 09:59 AM

C# で Array.IndexOf 関数を使用して、配列内の要素のインデックスを検索します。C# プログラムでは、配列内の要素のインデックスを検索する必要がある場合、Array.IndexOf 関数を使用できます。 Array.IndexOf 関数は、指定された配列範囲内で指定された要素を検索し、最初に出現した要素のインデックスを返します。要素が見つからない場合は、-1 が返されます。以下は、Array.IndexOf 関数を使用して配列内の要素を検索する方法を示すサンプル コードです。

ハードディスクのシリアル番号とMACアドレスを確認する方法 ハードディスクのシリアル番号とMACアドレスを確認する方法 Feb 18, 2024 pm 07:45 PM

ハードドライブのシリアル番号と MAC アドレスは、コンピュータ ハードウェアの重要な識別子であり、コンピュータ システムの管理と保守に非常に役立ちます。この記事では、ハードディスクのシリアル番号とMACアドレスを確認する方法を紹介します。 1. ハードドライブのシリアル番号を見つける ハードドライブのシリアル番号は、ハードドライブの製造元がハードドライブを識別および追跡するために使用する一意の識別子です。オペレーティング システムが異なると、ハード ドライブのシリアル番号を見つける方法が若干異なります。 Windows: コマンド プロンプトを開き (スタート メニューで「cmd」を検索)、次のコマンドを入力して Enter キーを押します: wmicdisk

PHP の glob() 関数は、ファイルまたはディレクトリを検索するために使用されます。 PHP の glob() 関数は、ファイルまたはディレクトリを検索するために使用されます。 Nov 18, 2023 pm 06:17 PM

PHP の glob() 関数は、ファイルまたはディレクトリを検索するために使用され、強力なファイル操作関数です。指定されたパターン一致に基づいてファイルまたはディレクトリのパスを返すことができます。 glob() 関数の構文は次のとおりです。 glob(pattern, flags) ここで、 pattern は照合するパターン文字列を表し、*.txt (.txt で終わるファイルの照合) などのワイルドカード式にすることができます。特定のファイルパス。 flags は、関数を制御するために使用されるオプションのパラメータです。

C++ でソートされていない配列内の要素の開始インデックスと終了インデックスを検索する C++ でソートされていない配列内の要素の開始インデックスと終了インデックスを検索する Aug 29, 2023 am 10:17 AM

この問題では、n 個のソートされていない整数値と整数 val を含む配列 aar[] が与えられます。私たちのタスクは、ソートされていない配列内の要素の開始インデックスと終了インデックスを見つけることです。配列内の要素の出現については、「開始インデックスと終了インデックス」を返します (配列内で 2 回以上見つかった場合)。 「単一インデックス」 (見つかった場合) 配列内に存在しない場合は「要素が存在しません」。問題を理解するために例を見てみましょう。例 1Input:arr[]={2,1,5,4,6,2,3},val=2Output:startingindex=0,endingindex=5 は、要素 2 が 2 回出現することを説明しています。 , 最初はインデックス = 0 に表示され、2 回目はインデックス = 0 に表示されます。

コンピューターのハードドライブのシリアル番号を確認する方法 コンピューターのハードドライブのシリアル番号を確認する方法 Feb 20, 2024 am 10:33 AM

コンピュータのハードドライブのシリアル番号を確認する方法 コンピュータ技術の発展に伴い、コンピュータのハードドライブは私たちの生活に欠かせないものになりました。重要なファイルを保存する場合でも、オペレーティング システムやソフトウェアをインストールする場合でも、それを完了するにはハードディスクに依存する必要があります。ハード ドライブのシリアル番号など、コンピューターのハード ドライブに関するいくつかの基本情報を理解すると、コンピューター システムをより適切に管理および保守するのに役立ちます。では、コンピューターのハードドライブのシリアル番号を確認するにはどうすればよいでしょうか?この記事では、いくつかの一般的な方法を紹介します。方法 1: Windows システムに付属のコマンド ライン ツールを使用する Windows システム

Python でハッシュ ルックアップ アルゴリズムを記述するにはどうすればよいですか? Python でハッシュ ルックアップ アルゴリズムを記述するにはどうすればよいですか? Sep 21, 2023 pm 02:37 PM

Python でハッシュ ルックアップ アルゴリズムを記述するにはどうすればよいですか?ハッシュ検索アルゴリズムとも呼ばれるハッシュ検索アルゴリズムは、ハッシュ テーブルに基づくデータ検索方法です。ハッシュ検索アルゴリズムは、線形検索や二分検索などの従来の検索アルゴリズムと比較して、検索効率が高くなります。 Python では、辞書を使用してハッシュ テーブルを実装し、ハッシュ ルックアップを実装できます。ハッシュ検索アルゴリズムの基本的な考え方は、検索対象のキーワードをハッシュ関数を通じてインデックス値に変換し、そのインデックス値に基づいてハッシュ テーブル内を検索することです。

See all articles