概要: このチュートリアルでは、正規表現のアンカーを使用して文字の前または後に位置を一致させる方法を学びます。
アンカーは 正規表現 で特別な意味を持っています。これらは文字に一致しません。代わりに、文字の前または後の位置に一致します
-
^
– キャレットアンカーはテキストの先頭に一致します。 -
$
– ドルアンカーはテキストの末尾に一致します。
次の例を参照してください
let str = 'JavaScript';
console.log(/^J/.test(str));
Code language: JavaScript (javascript)
出力
true
Code language: JavaScript (javascript)
/^J/
は J
文字で始まるテキストに一致します。true
を返します。
次の例は false
を返します。文字列 JavaScript
は S
文字で始まらないためです
let str = 'JavaScript';
console.log(/^S/.test(str));
Code language: JavaScript (javascript)
出力
false
Code language: JavaScript (javascript)
同様に、次の例は文字列 JavaScript
が t
文字で終わるため true
を返します
let str = 'JavaScript';
console.log(/t$/.test(str));
Code language: JavaScript (javascript)
出力
true
Code language: JavaScript (javascript)
文字列がパターンに完全に一致するかどうかを確認するために、アンカー ^
と $
を使用することがよくあります。次の例では、入力文字列が 12:05
などのタイム形式 hh:mm
に一致するかどうかを確認します
let isValid = /^\d\d:\d\d$/.test('12:05');
console.log(isValid);
Code language: JavaScript (javascript)
出力
true
Code language: JavaScript (javascript)
次の例は false
を返します
let valid = /^\d\d:\d\d$/.test('12:105');
console.log(valid);
Code language: JavaScript (javascript)
出力
false
Code language: JavaScript (javascript)
アンカー ^ と $ のマルチラインモード: m フラグ
アンカー ^
または $
のデフォルトはシングルラインモードです。シングルラインモードでは、アンカー ^
と $
は文字列の先頭と末尾に一致します。
マルチラインモードを有効にするには、m
フラグを使用します。マルチラインモードでは、^
または $
アンカーは文字列の先頭または末尾、または行の先頭または末尾に一致します。
次の例は、マルチライン文字列の最初の桁のみを返します
let str = `1st line
2nd line
3rd line`;
let re = /^\d/g;
let matches = str.match(re);
console.log(matches);
Code language: JavaScript (javascript)
出力
['1']
Code language: JSON / JSON with Comments (json)
フラグ m
を追加すると、アンカー ^
は行の先頭の桁にも一致します。次のように
let str = `1st line
2nd line
3rd line`;
let re = /^\d/gm;
let matches = str.match(re);
console.log(matches);
Code language: JavaScript (javascript)
出力
['1', '2', '3']
Code language: JSON / JSON with Comments (json)
概要
- アンカー
^
を使用してテキストの先頭に一致します。 - アンカー
$
を使用してテキストの末尾に一致します。 m
フラグを使用してマルチラインモードを有効にします。これにより、^
と$
アンカーがテキストの先頭と末尾だけでなく、行の先頭と末尾にも一致するように指示されます。
このチュートリアルは役に立ちましたか?