概要: このチュートリアルでは、正規表現のアンカーを使用して文字の前または後に位置を一致させる方法を学びます。
アンカーは 正規表現 で特別な意味を持っています。これらは文字に一致しません。代わりに、文字の前または後の位置に一致します
-
^– キャレットアンカーはテキストの先頭に一致します。 -
$– ドルアンカーはテキストの末尾に一致します。
次の例を参照してください
let str = 'JavaScript';
console.log(/^J/.test(str));Code language: JavaScript (javascript)出力
trueCode language: JavaScript (javascript)/^J/ は J 文字で始まるテキストに一致します。true を返します。
次の例は false を返します。文字列 JavaScript は S 文字で始まらないためです
let str = 'JavaScript';
console.log(/^S/.test(str));Code language: JavaScript (javascript)出力
falseCode language: JavaScript (javascript)同様に、次の例は文字列 JavaScript が t 文字で終わるため true を返します
let str = 'JavaScript';
console.log(/t$/.test(str));Code language: JavaScript (javascript)出力
trueCode language: JavaScript (javascript)文字列がパターンに完全に一致するかどうかを確認するために、アンカー ^ と $ を使用することがよくあります。次の例では、入力文字列が 12:05 などのタイム形式 hh:mm に一致するかどうかを確認します
let isValid = /^\d\d:\d\d$/.test('12:05');
console.log(isValid);Code language: JavaScript (javascript)出力
trueCode language: JavaScript (javascript)次の例は false を返します
let valid = /^\d\d:\d\d$/.test('12:105');
console.log(valid);Code language: JavaScript (javascript)出力
falseCode 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フラグを使用してマルチラインモードを有効にします。これにより、^と$アンカーがテキストの先頭と末尾だけでなく、行の先頭と末尾にも一致するように指示されます。
このチュートリアルは役に立ちましたか?