けーちゃんの自作Webツール

※本ツールはJavaScriptで動作します。
JavaScriptが無効になっています。
有効にしてください。

 

JavaScript向け 正規表現チェッカー

 

JavaScriptの正規表現に関連する各メソッドの実行結果をチェックできるツールです。

 

正規表現:※デリミタ( / )不要 注意事項

オプションフラグ:     ※sはブラウザによってはエラーになる

検索対象文字列:

参考:【JavaScript】 正規表現まとめメモ

一文字マッチ

パターン 説明 パターン 説明
[ ] [ ]内に羅列した一文字とマッチ
例:[abc] abcから一文字
[ - ] -で文字の範囲を指定。
例:[A-Z]、[a-z]、[0-9]、[A-Za-z]
[ ]内で-を検索したいときは\-
[^ ] [ ]内に羅列した文字または
範囲以外とマッチ
例:[^abc] abc以外
. 改行以外にマッチ
\d 数値にマッチ。
[0-9]と同じ意味。
\D 数値以外にマッチ。
[^0-9]と同じ意味。
\n,\r,\r\n 改行と一致
(OSにより異なる)
\s 改行・スペース
・タブ・空白と一致
\S \s以外とマッチ \w 数値・アルファベット
・アンダースコア(_)にマッチ。
[A-Za-z0-9_]と同じ
\W \w以外とマッチ

繰り返し

パターン 説明 パターン 説明
{ n } 直前のパターンを
n回繰り返すとマッチ
例:\d{3}
{ n , m } 直前のパターンを
n回以上m回以下
繰り返すとマッチ
\d{3,5}
{ n , } 直前のパターンを
n回以上繰り返すと
マッチ
例:\d{3,}
? 0回または1回繰り返すとマッチ
{ 0 , 1 }と同じ
* 直前のパターンを
0回以上繰り返すと
マッチ
+ 直前のパターンを
1回以上繰り返すと
マッチ

最短マッチ

パターン 説明
? 一番短いパターンで
マッチさせる
参考:結構重要:最短最長マッチ 【 ? 】

先頭・末尾マッチ

パターン 説明 パターン 説明
^ 文字列の先頭を意味する $ 文字列の末尾を意味する

グループ

パターン 説明 パターン 説明
( ) キャプチャグループ (?: ) 非キャプチャグループ

条件一致

パターン 説明
| ABC|DEF|GHI のとき、ABC、DEF、GHIのどちらかと一致すればマッチ

後読み先読みマッチ

パターン 説明 パターン 説明
x(?=y) 先読み。
xの後ろにyがある場合xがマッチする。
yはマッチ結果に含まれないが、
キャプチャとして取得される。
x(?!y) 否定先読み。
xの後ろにyがない場合xがマッチする。
yはマッチ結果に含まれないが、
キャプチャとして取得される。
(?<=y)x 後読み。
xの前にyがある場合xがマッチする。
yはマッチ結果に含まれないが、
キャプチャとして取得される。
一部のブラウザは非実装
(?<!y)x 否定後読み。
xの前にyがない場合xがマッチする。
yはマッチ結果に含まれないが、
キャプチャとして取得される。
一部のブラウザは非実装

エスケープ

パターン 説明 パターン 説明
\ エスケープが必要な文字
\   ^   .   $   *   ?   |   (   )   [   ]   {   }
[ ]内 [ ]内でエスケープが必要な文字
-    ]
重要 new RegExp()でのエスケープ

オプションフラグ

パターン 説明 パターン 説明
g グローバルサーチ。
繰り返しマッチングをおこなう。
i 大文字小文字を区別しない
s 正規表現パラメーターの『.』が改行と一致
一部のブラウザはエラーになる
m 行別(複数行)検索
正規表現パラメーターの『^』『$』が行ごとに適用される

String.prototype.match( )

const rex = new RegExp( " ) ;

"".match( rex ) ;

解説:

match()は、正規表現による検索結果を配列に格納するStringオブジェクトのメソッドです。
match()はgフラグ使用時、キャプチャグループを取得できません。
参考:【JavaScript】 正規表現match()とexec()の違い

String.prototype.matchAll( )

const rex = new RegExp( " ) ;

"".matchAll( rex ) ;

解説:

matchAll()は、正規表現による一致結果を返すイテレーターを返すStringオブジェクトのメソッドです。
次のようなコードで情報を取得します。
for ( const match of str.matchAll(rex) ) console.log( match );
参考:【JavaScript】 正規表現match()とmatchAll()の違い

RegExp.prototype.exec( )

const rex = new RegExp( " ) ;

rex.exec( "" ) ;

解説:

exec()は、正規表現による検索結果を配列に格納するRegExpオブジェクトのメソッドです。
gフラグ使用時、全ての結果を得るにはループ処理が必要です。
例:while( (result  = rex.exec( text3 )) !== null ){ }

参考:【JavaScript】 正規表現match()とexec()の違い

replace( )

String.prototype.replace( )

replace( )は、次の引数が追加で必要です。

置換後文字列:

置換後文字列内で使用可能なパターン一覧

パターン 説明 パターン 説明
$& 置き換え対象の文字列 $` 置き換え対象の文字列より前の部分
$' 置き換え対象の文字列より後ろの部分 $n キャプチャされた文字列(nは1~)
$$ $を文字として使用

const rex = new RegExp( " ) ;

"".replace( rex , "" ) ;

解説:

replace()は、最初に一致した文字列を置換した結果を返します。
正規表現でgフラグを使用した場合は、全て置換します。
参考:【JavaScript】 replace()の使い方 単純な置換と正規表現での置換

replaceAll( )

String.prototype.replaceAll( )

replaceAll( )は、次の引数が追加で必要です。

置換後文字列:

置換後文字列内で使用可能なパターン一覧

パターン 説明 パターン 説明
$& 置き換え対象の文字列 $` 置き換え対象の文字列より前の部分
$' 置き換え対象の文字列より後ろの部分 $n キャプチャされた文字列(nは1~)
$$ $を文字として使用

const rex = new RegExp( " ) ;

"".replaceAll( rex , "" ) ;

解説:

replaceAll()は、全ての一致する文字列を置換した結果を返します。
正規表現を使用する場合は、gフラグが必要です。
参考:【JavaScript】 replaceAllとは replaceとの違い

String.prototype.split( )

const rex = new RegExp( " ) ;

"".split( rex ) ;

解説:

split()は、文字列を分割し配列に格納します。
参考:【JavaScript】 split()で正規表現を使って文字列分割してみる

RegExp.prototype.test( )

const rex = new RegExp( " ) ;

rex.test( "" ) ;

解説:

test()は、一致するかどうかをテストし、結果としてtrueまたはfalseを返す。

String.prototype.search( )

const rex = new RegExp( " ) ;

"".search( rex ) ;

解説:

search()は、最初に一致した位置(0~)を返す。
一致しない場合は、-1を返す。

注意事項:

 

本ツールで入力した正規表現で特殊文字をエスケープしている場合、実際のJavaScript上ではエスケープ文字を二つ(\\)使用してください。

 

※本ツール上では一つで動作します。

 

参考:重要 new RegExp()でのエスケープ