Latest web development tutorials

正規表現 - はじめに

あなたは正規表現を使用するか、しない限り、あなたは、この用語に精通していない可能性があります。 しかし、あなたが既にスクリプトの概念を含まない正規表現の一部を使用していることは間違いありません。

たとえば、あなたが使用する可能性があるか、そして、ワイルドカード*は、あなたのハードディスク上のファイルを検索します。 ?ワイルドカードは、ファイル名に単一の文字にマッチし、*ワイルドカードは、0個以上の文字に一致します。 ?このようなモデルは、以下のファイルを探します.datのデータとして:

data1.dat
data2.dat
datax.dat
dataN.dat

*キャラクターの代わりに見つかったファイルの数を拡張するには?文字。 試合次の書類のすべての.datデータ*:

data.dat
data1.dat
data2.dat
data12.dat
datax.dat
dataXYZ.dat

この検索方法は便利ですが、それはまだ限られているが。 *ワイルドカードの動作を理解することによって、それは正規表現は概念が、正規表現より強力、かつ柔軟に依存紹介しています。

正規表現は、強力な達成するために簡単な手法によって得ることができます。 以下は、最初の簡単な例を与えます:

 ^.+@.+\\..+$ 

このコードを使用すること自由にあなたを与えるだろうこのチュートリアルを読み続けます。

なぜ正規表現を使うのか?

典型的な検索と置換操作は、あなたが期待マッチした検索結果の正確なテキストを提供する必要があります。 単純な検索を実行し、タスクの静的なテキストを置き換えるために、この技術は十分なされているかもしれないが、それは柔軟性に欠けることは不可能ではない場合、ダイナミックテキストを検索するには、この方法の使用は、少なくとも非常に困難になります。

正規表現を使用することにより、次のことができます。

  • 文字列内のテストパターン。
    たとえば、電話番号やクレジットカード番号パターンかどうかをビューモード内の文字列に入力された文字列をテストすることができます。 これは、データ検証として知られています。
  • 置換テキスト。
    あなたは完全にテキストを削除するか、他のテキストに置き換え、文書内の特定のテキストを識別するために正規表現を使用することができます。
  • 文字列から部分文字列を抽出するために、パターンマッチングに基づきます。
    あなたは、テキスト文書内で検索したり、特定のドメインを入力することができます。

たとえば、あなたは、サイト全体を検索古い材料を除去するだけでなく、一部のHTMLフォーマットタグを交換する必要があります。 このケースでは、材料やHTMLは、各ファイルにタグをフォーマットするかどうかを判断するために正規表現を使用することができます。 このプロセスでは、材料を削除したり変更したいそれらのファイルに感染したファイルのリストを狭くなります。 その後、廃止された材料を除去するために正規表現を使用することができます。 最後に、あなたがタグを検索および置換するために正規表現を使用することができます。

開発履歴

正規表現の "祖先"は常に人間の神経系の作品の初期の研究に遡ることができます。 ウォーレン・マカロックとウォルター・ピッツ2神経生理学では、これらのニューラルネットワークを記述するための数学的な方法を開発しました。

1956年、マカロックとピッツ初期の研究に基づいて、スティーブン・クリーネ数学者という男は、と題する記事公開 "ニューラルネットワークイベント表現を、"紙は、正規表現の概念を導入しています。 正規表現は、彼が「代数の定期的なセット」と呼ばれるものの表現なので、「正規表現」この用語を記述するために使用されています。

続いて、この作品はいくつかの以前の研究ケン・トンプソンの計算探索アルゴリズムの使用に適用することが判明することができ、ケン・トンプソンは、Unixの主要な発明です。 正規表現の最初の実用的なアプリケーションは、UNIX QEDエディタです。

彼らが言うように、残りは歴史を知られています。 その時から今までの正規表現に基づいてテキストでエディタや検索ツールの重要な部分です。

アプリケーション

現在、正規表現が広く* nixの(Linuxでは、Unixの、など)、HPおよび他のオペレーティングシステム、PHP、C#、Java(登録商標)および他の開発環境、および多くのアプリケーション・ソフトウェアを含む、多くのソフトウェアで使用されている、あなたが見ることができます正規表現をシャドウ。

C#の正規表現

私たちのチュートリアルC#では、 C#の正規表現この章では、C#の正規表現についての知識に専念します。

Javaの正規表現

私たちのJavaチュートリアルでは、 Javaの正規表現の知識の関連するJava正規表現に捧げ、この章の。

JavaScriptの正規表現

私たちのJavaScriptのチュートリアルでは、 JavaScriptの正規表現オブジェクトのJavaScriptの正規表現の知識に捧げ、この章のは、我々はまた、完全な提供のJavaScriptのRegExpオブジェクトリファレンスマニュアルを

Pythonの正規表現

私たちの基本Pythonのチュートリアルでは、 Pythonの正規表現この章では、Pythonの正規表現の知識に専念します。

Rubyの正規表現

私たちのチュートリアルRubyでは、 Rubyの正規表現この章では、Rubyの正規表現の知識に専念します。