【JavaScript】正規表現 - 文字列のパターン表現と検索
JavaScriptの正規表現をご紹介します。
正規表現
正規表現は文字列をパターン化して表現する記法です。
パターンに一致する文字列を検索するためなどに使います。
正規表現の基礎は次のドキュメントで解説しておりますのでご覧ください。
生成
正規表現値の生成は2パターンあります。
スラッシュ記法
正規表現をスラッシュ(/
)で括る記法です。
/正規表現/
RegExpオブジェクト
RegExpオブジェクトを使う方法です。
new RegExp(/正規表現)
// または
new RegExp("正規表現")
活用
正規表現は文字列の検索や特定の文字列を指定したい場合に利用できます。
JavaScriptではRegExpオブジェクトやStrignオブジェクトに正規表現を使ったメソッドが用意されています。
マッチテスト
RegExpオブジェクトのtestメソッドは正規表現にマッチする文字列が存在するかテストします。
let content = "JavaScript is a programming language.";
let regx = /a\w*?i/g;
let result = regx.test(content);
console.log(result);
true
文字列の取得
RegExpオブジェクトのexecメソッドは正規表現にマッチした文字列を取得します。
let content = "JavaScript is a programming language.";
let regx = /a\w*?i/g;
let result = regx.exec(content);
for( let str of result ) {
console.log(str);
}
avaScri
文字列インデックスの取得
Stringオブジェクトのsearchメソッドは正規表現にマッチした文字列の1文字目のインデックスを取得します。
let content = "JavaScript is a programming language.";
let regx = /a\w*?i/g;
let result = content.search(regx);
console.log(result);
1
全ての文字列の取得
Stringオブジェクトのmatchメソッドは正規表現にマッチした文字列を全て取得します。
let content = "JavaScript is a programming language.";
let regx = /a\w*?i/g;
let result = content.match(regx);
for( let str of result ) {
console.log(str);
}
avaScri
ammi
文字列の分割
Stringオブジェクトのsplitメソッドは正規表現にマッチした文字列で文字列を分割します。
let content = "JavaScript is a programming language.";
let regx = /a\w*?i/g;
let result = content.split(regx);
for( let str of result ) {
console.log(str);
}
J
pt is a progr
ng language.
文字列の置換
Stringオブジェクトのreplaceメソッドは正規表現にマッチした文字列を置換します。
let content = "JavaScript is a programming language.";
let regx = /a\w*?i/g;
let result = content.replace(regx, "---");
console.log(result);
J---pt is a progr---ng language.