教えて!GAS!

GASの基礎知識・書き方について紹介します。

Google Apps ScriptでのRegExpオブジェクトの種類

RegExpオブジェクトは、正規表現を扱う機能を提供します。

オブジェクト一覧

主なオブジェクトを紹介します。

メンバー 説明
exec(文字列) 指定された文字列に対して正規表現を実行し、最初の一致を含む配列を返します
test(文字列) 指定された文字列に対して正規表現をテストし、一致するかどうかを示すブール値を返します
toString() 正規表現を文字列として表現した形式を返します
global 正規表現がグローバル検索(全ての一致を探す)かどうかを示すブール値
ignoreCase 正規表現が大文字小文字を無視するかどうかを示すブール値
multiline 正規表現が複数行モードかどうかを示すブール値
source 正規表現のパターンを表す文字列
lastIndex グローバル検索または複数行検索において、次に検索を開始する位置を示す整数

プログラミング例

具体的なプログラミング例を紹介します。

exec(文字列)

function 正規表現の実行() {
    let 正規表現 = /abc/;
    let 文字列 = "abc123";
    let 結果 = 正規表現.exec(文字列);
    console.log("結果:", 結果); // ['abc']
}

test(文字列)

function 正規表現のテスト() {
    let 正規表現 = /abc/;
    let 文字列 = "abc123";
    let 結果 = 正規表現.test(文字列);
    console.log("結果:", 結果); // true
}

toString()

function 正規表現を文字列に変換() {
    let 正規表現 = /abc/;
    let 結果 = 正規表現.toString();
    console.log("結果:", 結果); // '/abc/'
}

global(プロパティ)

function グローバルフラグの確認() {
    let 正規表現 = /abc/g;
    let 結果 = 正規表現.global;
    console.log("グローバルフラグ:", 結果); // true
}

ignoreCase(プロパティ)

function 大文字小文字無視フラグの確認() {
    let 正規表現 = /abc/i;
    let 結果 = 正規表現.ignoreCase;
    console.log("大文字小文字無視フラグ:", 結果); // true
}

multiline(プロパティ)

function 複数行フラグの確認() {
    let 正規表現 = /^abc/m;
    let 結果 = 正規表現.multiline;
    console.log("複数行フラグ:", 結果); // true
}

source(プロパティ)

function 正規表現のソース確認() {
    let 正規表現 = /abc/;
    let 結果 = 正規表現.source;
    console.log("正規表現のソース:", 結果); // 'abc'
}

lastIndex(プロパティ)

function 最後の一致インデックス確認() {
    let 正規表現 = /abc/g;
    let 文字列 = "abc abc abc";
    正規表現.exec(文字列);
    console.log("最後の一致インデックス:", 正規表現.lastIndex); // 3
}

まとめ

RegExpオブジェクトのメソッドやプロパティを使用することで、正規表現のパターンマッチングを効率的に行う事が可能です。