Javascript-regexp-object

提供:Dev Guides
移動先:案内検索

正規表現とRegExpオブジェクト

正規表現は、文字のパターンを記述するオブジェクトです。

JavaScript RegExp クラスは正規表現を表し、Stringと RegExp の両方が、正規表現を使用して強力なパターンマッチングおよびテキストの検索と置換機能を実行するメソッドを定義します。

構文

正規表現は、次のように* RegExp()*コンストラクタで定義できます-

var pattern = new RegExp(pattern, attributes);
or simply
var pattern =/pattern/attributes;

ここにパラメータの説明があります-

  • pattern -正規表現または別の正規表現のパターンを指定する文字列。
  • 属性-グローバル、大文字と小文字を区別しない、および複数行の一致をそれぞれ指定する「g」、「i」、および「m」属性のいずれかを含むオプションの文字列。

ブラケット

ブラケット([])は、正規表現のコンテキストで使用される場合、特別な意味を持ちます。 文字の範囲を見つけるために使用されます。

Sr.No. Expression & Description
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進数を一致させるか、範囲[b-v]を使用して bv の範囲の小文字を一致させることもできます。

数量詞

括弧で囲まれた文字シーケンスと単一文字の頻度または位置は、特殊文字で示すことができます。 各特殊文字には特定の意味があります。 +、*、?、および$フラグはすべて文字シーケンスに従います。

Sr.No. Expression & Description
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の文字列と一致します。

次の例では、文字の一致について詳しく説明します。

Sr.No. Expression & Description
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* の後に、 *hp* シーケンスのゼロ個以上のインスタンスが続く文字列に一致します。

リテラル文字

Sr.No. Character & Description
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スタイルの正規表現で使用できるメタキャラクターのセットを示します。

Sr.No. Character & Description
1

.

一文字

2

\s

空白文字(スペース、タブ、改行)

3

\S

非空白文字

4

\d

数字(0-9)

5

\D

数字以外

6

\w

単語文字(a-z、A-Z、0-9、_)

7

\W

単語以外の文字

8

[\b]

リテラルバックスペース(特殊なケース)。

9

[aeiou]

指定されたセット内の単一の文字に一致します

10

[^aeiou]

指定されたセット外の単一の文字に一致します

11 *(foo
bar

baz)*

指定された選択肢のいずれかに一致

修飾子

大文字と小文字の区別、複数行の検索など、 regexps での作業を簡素化できる修飾子がいくつかあります。

Sr.No. Modifier & Description
1

i

大文字と小文字を区別しないマッチングを実行します。

2

m

文字列に改行文字または復帰文字がある場合、^および$演算子が文字列境界ではなく改行境界と一致するようになります

3

g

グローバル一致を実行します。つまり、最初の一致後に停止するのではなく、すべての一致を検索します。

RegExpプロパティ

以下は、RegExpに関連付けられているプロパティとその説明のリストです。

Sr.No. Property & Description
1

constructor

オブジェクトのプロトタイプを作成する関数を指定します。

2

global

「g」修飾子が設定されているかどうかを指定します。

3

ignoreCase

「i」修飾子が設定されているかどうかを指定します。

4

lastIndex

次の一致を開始するインデックス。

5

multiline

「m」修飾子が設定されているかどうかを指定します。

6

source

パターンのテキスト。

次のセクションでは、RegExpプロパティの使用方法を示すいくつかの例を示します。

RegExpメソッド

以下は、RegExpに関連付けられたメソッドとその説明のリストです。

Sr.No. Method & Description
1

exec()

文字列パラメーターで一致の検索を実行します。

2

test()

文字列パラメーターの一致をテストします。

3

toSource()

指定されたオブジェクトを表すオブジェクトリテラルを返します。この値を使用して、新しいオブジェクトを作成できます。

4

toString()

指定されたオブジェクトを表す文字列を返します。

次のセクションでは、RegExpメソッドの使用法を示すための例をいくつか示します。