正規表現のエクササイズをみてみましょう。
.NET Frameworkの正規表現を利用することも可能ではありますが、
ES6には正規表現が組み込まれていますので、これを利用するのが良いでしょう。
上図のように選択して実行すると、数値が1つ増えるのがわかります。
/* * This codes is licensed under CC0 1.0 Universal */ #JS = loaddll( hidemarudir + @"\hmV8.dll" ); #r = dllfuncw( #JS, "DoString", R"JS( // 置き換え対象とするパターン // 前部(prev) + 数字(num) + [改行がありかも(post)] + 文末 let ReplaceRegexp = /^(.*?\D)?(\d+)([\r\n]+)?$/; // 置き換えの定義 let ReplaceAlgorithm = (all, prev, num, post) => { prev = prev || ""; post = post || ""; // 「数字部分」を「数値解釈上1足したもの」を返す return prev + (+num+1) + post; } try { // 選択対象の内容。(通常選択か行選択が対象。矩形選択や複数矩形選択は対象外。) let SelectedText = hm.Edit.SelectedText; if (!SelectedText) { throw "未選択"; } // テキスト置換の試行 let ReplacedText = SelectedText.replace( ReplaceRegexp, ReplaceAlgorithm ); if ( SelectedText == ReplacedText ) { throw "変更箇所なし"; } // 選択対象へと上書き hm.Edit.SelectedText = ReplacedText; } catch(e) { // 例外だと気付きを得るための効果音。 clr.System.Media.SystemSounds.Beep.Play(); // デバッグモニタに例外理由 hm.debuginfo(e); } )JS" ); freedll( #JS );