ホームページ > ウェブフロントエンド > jsチュートリアル > 正規表現の後方参照の詳しい説明_正規表現

正規表現の後方参照の詳しい説明_正規表現

微波
リリース: 2017-06-28 13:49:30
オリジナル
1614 人が閲覧しました

この記事では主に、正規表現学習チュートリアルのバックトラッキング参考文献backreferenceを紹介しており、必要な友人はそれを参考にしてください

。この記事では、正規表現の後方参照について説明しています。参考のために皆さんと共有してください。詳細は次のとおりです。

すべての例で、正規表現の一致結果はソース テキストの [and] の間に含まれています。一部の例は、正規表現の場合、Java を使用して実装されます。 Java自体の式 使用方法は該当箇所で説明します。すべての Java サンプルは JDK1.6.0_13 でテストされています。

1. 問題の紹介

HTML ページ内のタイトル タグ (H1-H6) の一致の問題:

テキスト:

<body>
<h1>Welcome to my page</H1>
Content is pided into twosections:<br>
<h2>Introduction</h2>
Information about me.
<H2>Hobby</H2>
Information about my hobby.
<h2>This is invalid HTML</h3>
</body>
ログイン後にコピー
ログイン後にコピー

正規表現: <[hH][1-6]> ;。 *?

結果:


私のページへようこそ


コンテンツは 2 つのセクションに分かれています:

紹介


私についての情報

趣味


私の趣味についての情報

これは無効な HTML

]

分析: パターン <[hH][1-6]> は第 1 レベルのタイトルの開始タグと一致し、大文字と小文字は区別されません。この例では、

、 に一致します。 メタキャラクター は、タグ内のテキストと一致するためにここで使用されます。それ以外の場合は、最初の開始タグから最後の終了タグまでのコンテンツと一致します。ただし、結果から、無効なタグ、つまり

も一致しており、まったく一致できないことがわかります。この問題を解決するには、後方参照を使用する必要があります。

2. 後方参照マッチング

後方参照とは、パターンの後半が前半で定義された部分式を参照することを意味します。 部分式の使用、分割、参照については、以前に紹介しました。次に、前の例を解いてみましょう:

テキスト:

<body>
<h1>Welcome to my page</H1>
Content is pided into twosections:<br>
<h2>Introduction</h2>
Information about me.
<H2>Hobby</H2>
Information about my hobby.
<h2>This is invalid HTML</h3>
</body>
ログイン後にコピー
ログイン後にコピー

正規表現: <[hH]([1-6])>.*?

結果:

私。

趣味


私の趣味に関する情報です。

これは無効な HTML


分析: 最初に冒頭のタイトルのパターンと一致しますtag<[hH ]([1-6])> では、括弧を使用して [1-6] を部分式として扱い、一致する終了タイトル タグ パターンは です。ここで 1 は、最初の部分式 Formula、つまり ([1-6])、([1-6]) が 1 に一致する場合、1 も 1 に一致し、2 に一致する場合、1 は 2 にも一致するため、最後の無効なタイトルのタグ一致しません。


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

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

http://tools.

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

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート