正規表現とRegExpオブジェクト
正規表現は、文字のパターンを記述するオブジェクトです。
JavaScript RegExp クラスは正規表現を表し、Stringと RegExp 正規表現を使用して、テキストに対して強力なパターンマッチングおよび検索と置換の機能を実行するメソッドを定義します。
構文
正規表現は、 RegExp () 次のようにコンストラクター-
var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;
パラメータの説明は次のとおりです-
pattern −正規表現または別の正規表現のパターンを指定する文字列。
attributes −グローバル、大文字と小文字を区別しない、および複数行の一致をそれぞれ指定する「g」、「i」、および「m」属性のいずれかを含むオプションの文字列。
ブラケット
角かっこ([])は、正規表現のコンテキストで使用される場合に特別な意味を持ちます。これらは、文字の範囲を見つけるために使用されます。
シニア番号 | 表現と説明 |
---|---|
1 | [...] 角かっこの間の任意の1文字。 |
2 | [^...] 角かっこで囲まれていない任意の1文字。 |
3 | [0-9] 0から9までの任意の10進数に一致します。 |
4 | [a-z] 小文字の任意の文字に一致します a 小文字を介して z。 |
5 | [A-Z] 大文字の任意の文字に一致します A 大文字から Z。 |
6 | [a-Z] 小文字の任意の文字に一致します a 大文字から Z。 |
上記の範囲は一般的なものです。範囲[0-3]を使用して0から3の範囲の10進数に一致させることも、範囲[bv]を使用してからの範囲の小文字に一致させることもできます。b 使って v。
定量化子
括弧で囲まれた文字シーケンスと単一文字の頻度または位置は、特殊文字で表すことができます。各特殊文字には特定の意味合いがあります。+、*、?、および$フラグはすべて、文字シーケンスに従います。
シニア番号 | 表現と説明 |
---|---|
1 | p+ 1つ以上のpを含む任意の文字列に一致します。 |
2 | p* これは、0個以上のpを含む任意の文字列に一致します。 |
3 | p? 最大で1つのpを含む任意の文字列に一致します。 |
4 | p{N} のシーケンスを含む任意の文字列に一致します N pの |
5 | p{2,3} これは、2つまたは3つのpのシーケンスを含む任意の文字列に一致します。 |
6 | p{2, } これは、少なくとも2つのpのシーケンスを含む任意の文字列に一致します。 |
7 | p$ 末尾がpの文字列と一致します。 |
8 | ^p 先頭がpの文字列と一致します。 |
例
次の例では、文字のマッチングについて詳しく説明しています。
シニア番号 | 表現と説明 |
---|---|
1 | [^a-zA-Z] からの範囲の文字を含まない任意の文字列に一致します a 使って z そして A Zを介して。 |
2 | p.p を含むすべての文字列に一致します p, 続いて任意の文字が続き、次に別の文字が続きます p。 |
3 | ^.{2}$ 正確に2文字を含む任意の文字列に一致します。 |
4 | <b>(.*)</b> <b>と</ b>で囲まれたすべての文字列に一致します。 |
5 | p(hp)* を含むすべての文字列に一致します p シーケンスの0個以上のインスタンスが続く hp。 |
リテラル文字
シニア番号 | キャラクターと説明 |
---|---|
1 | Alphanumeric 自体 |
2 | \0 NUL文字(\ u0000) |
3 | \t タブ(\ u0009 |
4 | \n 改行(\ u000A) |
5 | \v 垂直タブ(\ u000B) |
6 | \f フォームフィード(\ u000C) |
7 | \r キャリッジリターン(\ u000D) |
8 | \xnn 16進数nnで指定されたラテン文字。たとえば、\ x0Aは\ nと同じです |
9 | \uxxxx 16進数xxxxで指定されたUnicode文字。たとえば、\ u0009は\ tと同じです |
10 | \cX 制御文字^ X; たとえば、\ cJは改行文字と同等です\ n |
メタ文字
メタ文字は、組み合わせに特別な意味を与えるように機能するバックスラッシュが前に付いた単純なアルファベット文字です。
たとえば、「\ d」メタ文字を使用して多額のお金を検索できます。 /([\d]+)000/、 ここに \d 数字の任意の文字列を検索します。
次の表に、PERLスタイルの正規表現で使用できるメタ文字のセットを示します。
シニア番号 | キャラクターと説明 |
---|---|
1 | . 単一の文字 |
2 | \s 空白文字(スペース、タブ、改行) |
3 | \S 空白以外の文字 |
4 | \d 数字(0-9) |
5 | \D 数字以外 |
6 | \w 単語文字(az、AZ、0-9、_) |
7 | \W 単語以外の文字 |
8 | [\b] 文字通りのバックスペース(特殊な場合)。 |
9 | [aeiou] 指定されたセットの1文字に一致します |
10 | [^aeiou] 指定されたセット外の単一の文字に一致します |
11 | (foo|bar|baz) 指定された選択肢のいずれかに一致します |
修飾子
作業方法を簡素化できるいくつかの修飾子が利用可能です regexps, 大文字と小文字の区別、複数行での検索など。
シニア番号 | 修飾子と説明 |
---|---|
1 | i 大文字と小文字を区別しないマッチングを実行します。 |
2 | m 文字列に改行文字またはキャリッジリターン文字がある場合、^および$演算子が文字列境界ではなく、改行境界と一致するように指定します |
3 | g グローバルマッチを実行します。つまり、最初のマッチの後で停止するのではなく、すべてのマッチを検索します。 |
RegExpプロパティ
これは、RegExpに関連付けられているプロパティとその説明のリストです。
シニア番号 | プロパティと説明 |
---|---|
1 | constructor Specifies the function that creates an object's prototype. |
2 | global Specifies if the "g" modifier is set. |
3 | ignoreCase Specifies if the "i" modifier is set. |
4 | lastIndex The index at which to start the next match. |
5 | multiline Specifies if the "m" modifier is set. |
6 | source The text of the pattern. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.
RegExp Methods
Here is a list of the methods associated with RegExp along with their description.
Sr.No. | Method & Description |
---|---|
1 | exec() Executes a search for a match in its string parameter. |
2 | test() Tests for a match in its string parameter. |
3 | toSource() Returns an object literal representing the specified object; you can use this value to create a new object. |
4 | toString() Returns a string representing the specified object. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.