正規表現のJavaScriptシンタックスは何ですか。
JavaScriptの正規表現の構文は次のとおりです。
- リテラル構文: スラッシュ(/)で正規表現を括ります。例: /パターン/。スラッシュ間に修飾子を付けることができます。例: /パターン/g
- 正規表現オブジェクトのコンストラクタ関数を利用して正規表現を作成する(例:new RegExp(“pattern”) )。
- メタ文字: 正規表現でパターンにマッチする際の特殊文字。例: .(任意の改行を含む文字に対応)、^(文字列の先頭に対応)、$(文字列の末尾に対応)、\d(数字に対応)、\w(英数字やアンダースコアに対応)
- 文字の種類は、角括弧[ ]で表し、文字の範囲を一致させるのに使用します。たとえば、[abc]は文字a、b、またはcに一致し、[0-9]は任意の数字に一致します。
- 量詞は、一致する回数を指定するために使用されます。たとえば、* は前の表現を 0 回以上一致させ、+ は前の表現を 1 回以上一致させ、? は前の表現を 0 回または 1 回一致させ、{n} は前の表現をちょうど n 回一致させ、{n,} は前の表現を少なくとも n 回一致させます。
- 修飾符とは、照合方法やパターンの動作を制御するために使用するものです。たとえば、gはグローバル照合、iは大文字小文字を区別しない照合、mは多行照合を意味します。
- キャプチャグループ: 小括弧(())を使って式をグループ化し、照合結果から取り出して使用します。インデックスや名前を使ってキャプチャグループを参照できます。たとえば、(pattern)は照合された内容を表し、\1は最初のキャプチャグループの内容を参照します。
- エスケープ文字は、特殊文字自身と照合するために使用されます。 例: . は、ピリオド (.) 自身と照合します。
上記文法のほかに、JavaScript 正規表現では \d、\w、\s などのあらかじめ決められた文字クラスや [^a-z] などの否定クラス、ゼロ幅アサーション(先行肯定アサーション、先行否定アサーション、後行肯定アサーション、後行否定アサーション)、| による選択などがサポートされています。