WikiChree.COM 新規   編集   添付   管理  



トップ   編集 編集〔GUI〕 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

Pkript/API/RegExp の変更点

#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]);
}
}}