Es6-regexp

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

ES6-RegExp

正規表現は、文字のパターンを記述するオブジェクトです。 正規表現は、多くの場合「 regex 」または「 regexp 」と省略されます。

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

正規表現は次のように定義できます-

var pattern = new RegExp(pattern, attributes);
OR
var pattern =/pattern/attributes;

属性には、次の値の任意の組み合わせを指定できます。

Sr.No Attribute & Description
1

G

グローバルマッチ

2

I

ケースを無視

3

M

マルチライン;開始文字と終了文字(^および$)を複数行にわたって機能するものとして扱います(つまり、入力文字列全体の最初または最後だけでなく、各行の先頭または末尾に一致します(\ nまたは\ rで区切られます)。 )

4

U

Unicode;パターンをUnicodeコードポイントのシーケンスとして扱う

5

Y

粘着性;ターゲット文字列内のこの正規表現のlastIndexプロパティで示されたインデックスからのみ一致します(以降のインデックスからは一致しません)

正規表現の構築

ブラケット

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

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]を使用してb〜vの範囲の小文字を一致させることもできます。

数量詞

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

Sr.No Expression & Description
1

p+

少なくとも1つの p を含む文字列に一致します。

2

p*

0個以上の p’s を含む任意の文字列に一致します

3

p?

1つ以上の p を含む任意の文字列に一致します

4

p{N}

  • N p's* のシーケンスを含む任意の文字列に一致します
5

p\{2,3}

2つまたは3つの p のシーケンスを含む任意の文字列に一致します

6

p\{2, }

少なくとも2つの p のシーケンスを含む任意の文字列に一致します

7

p$

末尾が p の文字列に一致します

8

^p

先頭が p の文字列に一致します

9

[^a-zA-Z]

  • a* から *z* および *A* から *Z* の範囲の文字を含まない文字列に一致します。
10

p.p

  • p* の後に任意の文字が続き、さらに別の *p* が続く文字列に一致します。
11

^.{2}$

正確に2文字を含む任意の文字列に一致します

12

<b>(.)</b>*

<b>および</b>で囲まれた任意の文字列に一致します

13

p(hp)*

  • p* の後に0個以上のシーケンス *hp* のインスタンスが続く文字列に一致します。

リテラル文字

Sr.No Character & Description
1

Alphanumeric

自体

2

\0

NULL文字(\ 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]

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

11 *(foo
bar

baz)*

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

RegExpプロパティ

Sr.No Properties & Description
1

RegExp.prototype.flags

RegExpオブジェクトのフラグを含む文字列

2

RegExp.prototype.global

正規表現を文字列内の可能なすべての一致に対してテストするか、最初の一致に対してのみテストするか

3

RegExp.prototype.ignoreCase

文字列の一致を試みているときに大文字と小文字を無視するかどうか

4

RegExp.prototype.lastIndex

RegExpオブジェクトの読み取り/書き込みプロパティかどうか。

5

RegExp.prototype.multiline

複数行にわたって文字列を検索するかどうか

6

RegExp.prototype.source

パターンのテキスト

RegExpメソッド

Sr.No Method & Description
1

RegExp.prototype.exec()

文字列パラメーターで一致するものを検索します

2

RegExp.prototype.test()

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

3

RegExp.prototype.match()

指定された文字列との一致を実行し、一致結果を返します

4

RegExp.prototype.replace()

指定された文字列の一致を新しい部分文字列で置き換えます

5

RegExp.prototype.search()

指定された文字列で一致を検索し、文字列で見つかったパターンのインデックスを返します

6

RegExp.prototype.split()

文字列を部分文字列に分割することにより、指定された文字列を配列に分割します

7

RegExp.prototype.toString()

指定されたオブジェクトを表す文字列を返します。 theObject.prototype.toString()メソッドをオーバーライドします