#author("2026-08-31T23:22:36+09:00","default:guide","guide") * Pkript/API/RegExp [#r9dc4cbb] #author("2026-09-04T00:05:59+09:00","default:mcp","bot-mcp") * Pkript/API/RegExp [#t70823fd] 正規表現オブジェクトのメソッドリファレンス。正規表現の構文・フラグは [[Pkript/文法/正規表現]] を参照。 正規表現の構文、フラグ、制限は [[Pkript/文法/正規表現]] を参照。 ** リファレンス [#x1db0064] ** リファレンス [#q017f42d] *** 生成 [#xe6f0e6d] *** 生成 [#x61c371d] #pkript(highlight){{ #highlight{{ /pattern/flags }} 変数に代入できる。 *** フラグ [#ecfe30bf] *** メソッド [#s59525a9] |~フラグ|~説明|h |g|全件一致| |i|大文字・小文字を区別しない| |m|^ と $ が各行に一致| |s|. が改行にも一致| *** メソッド [#ve697cba] |~メソッド|~戻り値|~説明|h |re.test(str)|Boolean|一致するか| |re.exec(str)|Array / null|最初の一致の配列 [全体, グループ1, ...]。一致しない場合は null| |re.source()|String|パターン文字列(スラッシュとフラグを除いた部分)| |re.flags()|String|フラグ文字列| |re.global()|Boolean|g フラグが付いているか| str.match / str.matchAll / str.search / str.replace / str.replaceAll / str.split も RegExp を受け取る([[Pkript/API/String]] 参照)。 ** 使用法 [#sa66e231] ** 使用法 [#q0c23cbb] *** パターンに一致するか確認する [#o55b8359] *** パターンに一致するか確認する [#regexp_usage_test] #pkript(highlight){{ #highlight{{ const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/; if (!ISO_DATE.test(e.args[0])) return "<p>日付の形式が正しくありません</p>"; }} *** グループを使って文字列を変換する [#bb37c405] *** グループを使って文字列を変換する [#regexp_usage_replace] #pkript(highlight){{ #highlight{{ return text.replace(/(\d{4})-(\d{2})-(\d{2})/g, "$1年$2月$3日"); }} *** 全件マッチを処理する [#v071d1d4] *** 全件マッチを処理する [#regexp_usage_exec] #pkript(highlight){{ #highlight{{ const LINK = /\[\[(.+?)\]\]/g; const links = []; let m; while ((m = LINK.exec(text)) !== null) { links.push(m[1]); } }}