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上ではエスケープ文字を二つ(\\)使用してください。
※本ツール上では一つで動作します。
