JavaScriptが無効になっています。
有効にしてください。
JavaScript向け 正規表現チェッカー
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はマッチ結果に含まれないが、 キャプチャとして取得される。 一部のブラウザは非実装 |
エスケープ
パターン | 説明 | パターン | 説明 |
---|---|---|---|
\ | エスケープが必要な文字 \ ^ . $ * ? | ( ) [ ] { } |
[ ]内 | [ ]内でエスケープが必要な文字 - ] |
オプションフラグ
パターン | 説明 | パターン | 説明 |
---|---|---|---|
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 ) ;
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上ではエスケープ文字を二つ(\\)使用してください。
※本ツール上では一つで動作します。