ホームページ > ウェブフロントエンド > jsチュートリアル > JS 正規表現の使用方法の詳細な紹介

JS 正規表現の使用方法の詳細な紹介

php中世界最好的语言
リリース: 2018-01-08 10:24:46
オリジナル
1256 人が閲覧しました

今回は、H5 を使用して花火のパーティクルの特殊効果を作成する方法を紹介します。 H5 を使用して特殊効果を作成するにはどうすればよいですか? H5 で花火のパーティクル特殊効果を作成するための 注意事項 は何ですか? ここで実際のケースを見てみましょう。

正規表現詳しい使い方の説明

はじめに

簡単に言えば、正規表現はパターンのマッチングや置換に使用できる強力なツールです。その機能は次のとおりです:
文字列内の特定のパターンをテストします。たとえば、入力文字の文字列をテストして、その文字列に電話番号パターンまたはクレジット カード番号パターンが存在するかどうかを確認できます。これはデータの有効性検証と呼ばれます。
テキストを置き換えます。正規表現を使用してドキュメント内の特定のテキストを識別し、そのテキストを完全に削除したり、他のテキストに置き換えたりできます。
パターン一致に基づいて文字列から部分文字列を抽出します。テキストまたは入力フィールド内の特定の単語を検索するために使用できます。

基本文法

正規表現の機能と効果を予備的に理解した後、正規表現の構文形式を詳しく見てみましょう。

正規表現の形式は一般に次のとおりです:

/love/「/」区切り文字で囲まれた部分は、ターゲット オブジェクト内で照合されるパターンです。ユーザーは、一致するオブジェクトを検索するパターンのコンテンツを「/」区切り文字の間に入れるだけで済みます。ユーザーがパターンの内容をより柔軟にカスタマイズできるようにするために、正規表現は特別な「メタキャラクター」を提供します。いわゆるメタキャラクタは、正規表現において特別な意味を持つ特殊文字を指します。これを使用して、ターゲット オブジェクト内で先頭の文字 (つまり、メタキャラクタの前にある文字) の出現パターンを指定できます。
より一般的に使用されるメタ文字には、「+」、「*」、「?」などがあります。
「+」メタキャラクターは、その先頭の文字がターゲット オブジェクト内で 1 回以上連続して出現する必要があることを規定します。
「*」メタキャラクターは、その先頭文字がターゲット オブジェクト内で連続して 0 回または複数回出現する必要があることを規定します。
「?」メタキャラクターは、その先頭のオブジェクトがターゲット オブジェクト内に 0 回または 1 回出現する必要があることを規定します。

それでは、正規表現メタキャラクターの具体的な用途を見てみましょう。

/fo+/上記の正規表現には「+」メタキャラクターが含まれているため、対象オブジェクト内で「fool」、「fo」、または「football」を含む文字 f の後に 1 つ以上の文字 o が連続して出現する可能性があることを意味します。文字列が一致します。
/eg*/ 上記の正規表現には「*」メタ文字が含まれているため、対象オブジェクト g の文字 e の後に「easy」、「ego」、「egg」の文字が 0 個以上連続して出現する可能性があることを意味します。文字列が一致します。
/Wil?/上記の正規表現には「?」メタキャラクタが含まれているため、対象オブジェクトの「Win」や「Wilson」などと一致することを意味します。 の後に0文字または1文字のlが連続して出現する文字列私が一致する文字。

何文字を一致させるべきかわからないことがあります。この不確実性に対応するために、正規表現は修飾子の概念をサポートしています。これらの修飾子は、一致を満たすために正規表現の特定のコンポーネントが何回出現する必要があるかを指定します。

{n} n は負ではない整数です。特定の回数 n 回一致します。たとえば、「o{2}」は「Bob」の「o」とは一致しませんが、「food」の両方の「o」には一致します。
{n,} n は負ではない整数です。少なくとも n 回一致します。たとえば、「o{2,}」は「Bob」の「o」とは一致しませんが、「foooood」のすべての「o」には一致します。 「o{1,}」は「o+」と同等です。 「o{0,}」は「o*」と同等です。
{n,m} m と n は両方とも非負の整数であり、n メタキャラクターに加えて、ユーザーは一致したオブジェクトにパターンが出現する頻度を正確に指定できます。たとえば、/jim {2,6}/ は、一致するオブジェクト内に文字 m が連続して 2 ~ 6 回現れることができると規定しているため、上記の正規表現は jimmy や jimmmmy などの文字列と一致します。

正規表現の使用方法を予備的に理解した後、他のいくつかの重要なメタ文字の使用方法を見てみましょう。
s: タブ キーと改行文字を含む単一のスペース文字の一致に使用されます。
d: 0 から 9 までの数字の一致に使用されます。文字、数字、またはアンダースコア文字を照合します。
W: w に一致しないすべての文字を照合するために使用します。
.: 改行文字を除くすべての文字を照合するために使用します。

(注: s と S、w と W は相互の逆演算と考えることができます)

ここで、例を通して正規表現で上記のメタキャラクターを使用する方法を見てみましょう。

/s+/ 上記の正規表現は、ターゲット オブジェクト内の 1 つ以上のスペース文字と一致するために使用できます。
/d000/ 複雑な財務諸表がある場合、上記の正規表現を使用すると、合計 1,000 元のすべての金額を簡単に見つけることができます。
上で紹介したメタキャラクターに加えて、正規表現にはロケーターという別の固有の特殊文字もあります。ロケーターは、ターゲット オブジェクト内で一致するパターンが現れる場所を指定するために使用されます。 より一般的に使用されるロケーターには、「^」、「$」、「b」、「B」などがあります。
「^」ロケーターは、一致するパターンがターゲット文字列の先頭に出現する必要があることを指定します
「$」ロケーターは、一致するパターンがターゲット オブジェクトの末尾に出現する必要があることを指定します
「b」ロケーターは、一致するパターンがターゲット オブジェクトの末尾に出現する必要があることを指定しますパターンは、ターゲット文字列の先頭、または末尾の 2 つの境界のいずれかに出現する必要があります。「B」ロケーターは、一致するオブジェクトがターゲット文字列の先頭と末尾の 2 つの境界内に存在する必要があることを規定します。一致するオブジェクトをターゲット文字列の先頭または末尾として使用することはできません。
同様に、「^」と「$」、「b」と「B」も、互いに逆演算である 2 組のロケーターとみなすことができます。例: /^hell/ 上記の正規表現には「^」ロケーターが含まれているため、ターゲット オブジェクト内の「hell」、「hello」、または「hellhound」で始まる文字列と一致します。 /ar$/ 上記の正規表現には「$」ロケーターが含まれているため、ターゲット オブジェクト内の「car」、「bar」、または「ar」で終わる文字列と一致します。 /bbom/ 上記の正規表現パターンは「b」ロケーターで始まるため、ターゲット オブジェクト内の「bomb」または「bom」で始まる文字列と一致します。 /manb/ 上記の正規表現パターンは「b」ロケーターで終わるため、「human」、「women」、または「man」で終わるターゲット オブジェクト内の文字列と一致します。
ユーザーがより柔軟にマッチングパターンを設定しやすくするために、正規表現を使用すると、特定の文字に限定されずにマッチングパターンの範囲を指定できるようになります。例:
/[A-Z]/ 上記の正規表現は、A から Z までの範囲内の任意の大文字と一致します。
/[a-z]/上記の正規表現は、a から z までの範囲内の任意の小文字と一致します。
/[0-9]/ 上記の正規表現は、0 から 9 までの任意の数値と一致します。
/([a-z][A-Z][0-9])+/ 上記の正規表現は、「aB0」などの文字と数字で構成される任意の文字列と一致します。

ここでユーザーが注意する必要があることの 1 つは、正規表現で「()」を使用して文字列を結合できることです。 「()」記号に含まれる内容は、ターゲット オブジェクトにも出現する必要があります。したがって、「abc」の最後の文字は数字ではなく文字であるため、上記の正規表現は「abc」などの文字列には一致しません。

プログラミング ロジックと同様に正規表現で「OR」演算を実装し、複数の異なるパターンのいずれかを選択して一致させる場合は、パイプ文字「|」を使用できます。例: /to|too|2/ 上記の正規表現は、ターゲット オブジェクトの "to"、"too"、または "2" に一致します。

正規表現でより一般的に使用される演算子として、否定演算子「[^]」もあります。先ほど紹介したロケーター「^」とは異なり、否定文字「[^]」は、パターンで指定された文字列が対象オブジェクト内に存在できないことを指定します。例: /[^A-C]/ 上記の文字列は、ターゲット オブジェクト内の A、B、および C を除く任意の文字と一致します。一般に、「[]」内に「^」がある場合は否定演算子とみなされ、「[]」の外側に「^」がある場合、または「[]」がない場合は否定演算子とみなされます。オペレーター。
最後に、ユーザーが正規表現パターンにメタキャラクターを追加して、一致するオブジェクトを見つける必要がある場合は、エスケープ文字「」を使用できます。例: /Th*/ 上記の正規表現は、ターゲット オブジェクトの「The」ではなく「Th*」と一致します。

正規表現を構築した後は、数式のように評価できます。つまり、左から右に優先順位に従って評価できます。優先順位は次のとおりです:

1. エスケープ文字

2.()、(?:)、(?=)、丸括弧および角括弧

3.*、+、?、{n}、{n , }, {n,m} 修飾子
4.^、$、任意のメタ文字の位置と順序
5.|「OR」演算

使用例

JavaScript 1.2 には強力な RegExp() オブジェクトがあり、正規表現の一致操作を実行するために使用できます。 test() メソッドは、ターゲット オブジェクトに一致するパターンが含まれているかどうかを確認し、それに応じて true または false を返すことができます。 JavaScript を使用して
次のスクリプトを作成し、ユーザーが入力したメール アドレスの有効性を確認できます。 正規表現オブジェクト
このオブジェクトには正規表現パターンとそのパターンの適用方法を示すフラグが含まれています。 構文1 re = /pattern/[flags]
構文2 re = new RegExp("pattern",["flags"])
パラメータ
re
必須。正規表現パターンに割り当てられる
変数名
パターン 必須。使用する正規表現パターン。構文 1 を使用する場合は、「/」文字を使用してパターンを区切ります。構文 2 を使用する場合は、パターンを引用符で囲みます。
フラグ
オプション。構文 2 を使用する場合は、フラグを引用符で囲みます。フラグは組み合わせて使用​​でき、次のものが利用可能です:
g (パターンが出現するすべての全文検索)
i (大文字小文字を無視)
m (複数行検索)

次の例では、通常の式パターンと関連フラグ オブジェクト (re) では、正規表現オブジェクトの使用法を示します。この例では、結果の正規表現オブジェクトが match メソッドで使用されています。

function MatchDemo()
  {
  var r, re; // 声明变量。
  var s = "The rain in Spain falls mainly in the plain";
  re = new RegExp("ain","g"); // 创建正则表达式对象。
  r = s.match(re); // 在字符串 s 中查找匹配。
  return(r);
  }
ログイン後にコピー

これらの事例を読んだ後は、このメソッドを習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

関連書籍:

jQuery がクリック ドロップダウン ボックスの値をテキスト ボックスに蓄積する方法


ES6 のクラスの静的メソッドの機能とは


vue.js 構文および共通の指示 詳細な説明

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

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