JavaScript RegExpリファレンスマニュアル

RegExpオブジェクト

正則表現は文字パターンです。

このパターンはテキストに対してパターンマッチングの「検索と置換」機能を実行するために使用されます。

JavaScriptでは、RegExpオブジェクトは属性とメソッドを持つパターンです。

文法

/pattern/modifier(s);

let pattern = /codew3c/i;

実際に試してみてください

例説明:

codew3c 検索するパターン
/codew3c/ 正則表現
/codew3c/i 不区別大小文字の正則表現

正則表現に関する知識が必要な場合は、私たちの JavaScript RegExp チュートリアル

修飾子

修飾子は大文字と小文字を区別しないおよびグローバルな検索を実行するために使用されます:

修飾子 説明
g グローバルマッチングを実行します(最初のマッチング後に停止するのではなく、すべてのマッチングを検索します)。
i 大文字と小文字を区別しないマッチングを実行します。
d 部分文字列のマッチングを実行します。
m 複数行のマッチングを実行します。

方括号

方括号は特定範囲の文字を検索するために使用されます:

表达式 説明
[abc] 括弧内の任意の文字を検索します。
[^abc] 括弧内にない任意の文字を検索します。
[0-9] 0から9までの数字を検索します。
[^0-9] 括号内にない文字(非数字の任意の文字)を検出します。
(x|y) 指定されたオプションを検出します。

メタ文字

メタ文字は特別な意味を持つ文字です:

メタ文字 説明
. 改行符や行終端記号以外の単一文字を検出します。
\w 単語文字を検出します。
\W 非単語文字を検出します。
\d 数字を検出します。
\D 非数字文字を検出します。
\s 空白文字を検出します。
\S 非空白文字を検出します。
\b 単語の先頭/末尾に一致項を検出します。先頭は例えば\bHI、末尾は例えばHI\bのようになります。
\B 一致項を検出しますが、単語の先頭/末尾に位置していません。
\0 NULL文字を検出します。
\n ラインフィードを検出します。
\f フォームフィードを検出します。
\r リターンを検出します。
\t タブを検出します。
\v 垂直タブを検出します。
\xxx 8進数xxxで定義された文字を検出します。
\xdd 16進数ddで定義された文字を検出します。
\udddd 16進数xxxxで定義されたUnicode文字を検出します。

量詞

量詞 説明
n+ 少なくとも一個のnを含む文字列を一致させます。
n* 零個または複数のnを含む文字列を一致させます。
n? 零個または一個のnを含む文字列を一致させます。
n{X} 指定された文字列nがX個含まれる文字列を一致させます。
n{X,Y} 指定された文字列nがXからY個含まれる文字列を一致させます。
n{X,} 指定された文字列nが少なくともX個含まれる文字列を一致させます。
n$ 指定された文字列nで終わる文字列を一致させます。
^n 指定された文字列nで始まる文字列を一致させます。
?=n 指定された文字列nが直後に続く文字列を一致させます。
?!n 指定された文字列nが直後に続かない文字列を一致させます。

RegExpオブジェクトの属性

属性 説明
constructor RegExpオブジェクトのプロトタイプを生成する関数を返します。
global "g"修飾子が設定されているかを確認します。
ignoreCase "i"修飾子が設定されているかを確認します。
lastIndex 次の一致項のインデックスを指定します。
multiline "m"修飾子が設定されているかを確認します。
source RegExpパターンのテキストを返します。

RegExpオブジェクトのメソッド

方法 説明
compile() バージョン1.5で非推奨です。正規表現をコンパイルします。
exec() テスト文字列内の一致項を検出します。最初の一致項を返します。
test() テスト文字列内の一致項を検出します。trueまたはfalseを返します。
toString() 正規表現の文字列値を返します。

RegExp オブジェクトの説明

RegExp オブジェクトは正規表現を表し、文字列に対してパターンマッチを実行する強力なツールです。

文字列リテラル構文

/pattern/attributes

RegExp オブジェクトを作成する構文:

new RegExp(pattern, attributes);

パラメータ

パラメータ pattern 文字列で、正規表現のパターンまたは他の正規表現を指定します。

パラメータ attributes オプションの文字列で、「g」、「i」、「m」の属性が含まれており、それぞれグローバルマッチ、大文字小文字を区別するマッチ、マルチラインマッチを指定します。ECMAScript 标準化前に、m 属性はサポートされていませんでした。 pattern 正規表現であり、文字列でない場合、このパラメータは省略する必要があります。

返値

新しい RegExp オブジェクトが作成され、指定されたパターンとフラグを持っています。パラメータが pattern 正規表現ではなく文字列の場合、RegExp() コンストラクタは指定された RegExp と同じパターンとフラグで新しい RegExp オブジェクトを作成します。

new オペレータを使用しない場合、RegExp() を関数として呼び出すと、new オペレータを使用する場合と同じ動作を行いますが、 pattern 正規表現である場合、それは返されます pattern新しい RegExp オブジェクトは作成されません。

スローされます。

SyntaxError - もし pattern 正規表現が合法でない場合、または attributes 「g」、「i」、「m」以外の文字が含まれている場合、この例外をスローします。

TypeError - もし pattern RegExp オブジェクトですが、省略されていません attributes パラメータが指定されない場合、この例外をスローします。

ブラウザのサポート

/regexp/ は ECMAScript1 (ES1) の機能です。

すべてのブラウザは完全に ES1 (JavaScript 1997) をサポートしています:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
サポート サポート サポート サポート サポート サポート

正規表現をサポートする String オブジェクトのメソッド

方法 説明
search 正規表現に一致する値を検索します。
match 一つまたは複数の正規表現の一致を探します。
replace 正規表現に一致するサブ文字列を置き換えます。
split 文字列を文字列配列に分割します。