これは猛烈に凄い事です。
JavaScriptすらも超える手軽さと言えば、もちろんシェルスクリプトがあるわけですが、どうしても独自文法にならざるを得ないのが泣き所でした。
node.jsがあれば「あっ、こういう小さなツール欲しいな」と思ったら、ぱぱっとJavaScriptで組めてしまえる。
というわけで、簡単に正規表現パターンを試せるコンソールアプリ(ツール)が欲しくなったので作ってみました。
■仕様
- コンソール(PowerShell)で実行します。
 - コマンドは以下になります。
 - node.exe Regex.js 'パターン' '検査したい文字列'
 - 結果がヒットした時はヒット内容を全て表示します。
 - 結果がヒットしなかった時はその旨通知し終了。
 
■コード
/**
 * @fileoverview 指定パターンと文字列で正規表現マッチを簡単検査
 * @param {string} process.argv[0] node.exe(システム)
 * @param {string} process.argv[1] 当該PG名(システム)
 * @param {string} process.argv[2] 正規表現パターン
 * @param {string} process.argv[3] 検査したい文字列
 */
/**
 * ルート処理
 */
try{
    
    
    let aParam = new Array();
    
    if(process.argv.length !=4) {
        console.log("パラメータは、「正規表現 値」で入力して下さい。");
        process.exit(1);
    } else {
        aParam[0] = new String(process.argv[2]);
        aParam[1] = new String(process.argv[3]); //値
    }
    proc1(aParam);
} catch(e) {
    procE(e,"root");
}
process.exit(0);
/**
 * メイン処理(正規表現パターンの検査)
 * @param  {array} aParam [0]=正規表現パターン [1]=検査したい文字列
 */
function proc1(aParam) {
    try{
        let oRegex = new RegExp(aParam[0],"gi");
        console.log(aParam[0]);
        let aRes = aParam[1].match(oRegex);
        if(aRes === void 0 ||
           aRes === null) {
            console.log("パターンはマッチしませんでした。");
        } else {
            console.log("パターンは (" + aRes.length + "箇所) マッチしました!");
            let i=1;
            //@@@@@@@@@@[LOOP-START]@@@@@@@@@@
            aRes.forEach(element => {
                console.log("[" + i + "] " + "[" + element + "]");
                i++;
            });
            //@@@@@@@@@@[LOOP-END  ]@@@@@@@@@@
        }
    }catch(e) {
        procE(e,proc1.name);
    }
}
/**
 * エラー処理
 * @param  {object} e
 * @param  {string} sName
 */
function procE(e,sName) {
    try{
        console.log("[" + sName + "でエラー発生]" + e.name + "(" + e.message + ")");
        process.exit(1);
    }catch(e){
        console.log("エラー処理失敗" + e.name + "(" + e.message + ")");
    }
}
しかも、Visual Studio Code(VS Code)がまたJavaScriptとの相性も良くて、うきうきです。
ちなみに、コメントはJSDOC形式に近づけて書いてみました。
ただし私がどうしても入れたくてやってる、ループの開始と終了の時のマーカーはJSDOCとして認識して欲しくないので従来方式です。
ちなみに、node.jsのコマンドパラメータから直接正規表現パターンを入力してもらうわけですが、この時、¥w+などのエスケープシーケンス文字ってどうするの?という問題があり、少し嵌ってしまいました。
結論を言うと、「¥w+」などとエスケープシーケンス文字入りパターンを入力すると、システムが自動で[string:¥¥w+]などとエスケープしてくれるのです。
だから、入力時には普通にパターンを指定します。
プログラムでもあえて¥を¥¥に変換する処理は入れないです。
逆に、コマンドパラメータに¥¥w+などと入力すると、システムが[string:¥¥¥¥w+]に自動変換してしまうのでパターンが永遠にマッチしなくなります。
↑
node.exe c:¥Temp¥Regex.js  '¥w+' 'Playstation Vita is the best game machine. Of course.'
マッチしない時はその旨を通知して終了します。
ちなみに、ASUS E203MAでもって、冷気こもる部屋でキーボード叩いてたんですが、手が凍りそうでうまく動かない。
キーボードに指が跳ね返されて入力できない・・・。
また低発熱で無音のPCなので、冬はずっと冷えたままのボディなんですよね。