Skip to main content

Module regexp

Module regexp 

Source

Functions§

as_regexp 🔒
build_named_groups 🔒
名前付きキャプチャグループ(ES2018)の groups オブジェクトを組み立てる。 values は各グループ番号 idx(0 は全体一致なので使わない)に対応する値。
css_deg_static 🔒
css_em_static 🔒
css_escape_static 🔒
CSS.escape(str)(CSSOM。丸ごと未対応だった)。CSS 識別子として安全な文字列へ エスケープする。WHATWG CSSOM の「serialize an identifier」アルゴリズムに準拠: NULL は U+FFFD に置換、制御文字と先頭の数字(および - の直後の数字)は 16進コードポイント + 空白でエスケープ、- 単体は \-、英数字/_/-/非ASCII はそのまま、それ以外の記号はバックスラッシュを前置する。
css_number_static 🔒
css_percent_static 🔒
css_px_static 🔒
css_rem_static 🔒
css_supports_static 🔒
CSS.supports(conditionText) / CSS.supports(property, value)(CSSOM。 丸ごと未対応だった)。@supports の条件式評価と全く同じ css::supports_condition_matches をそのまま再利用する(葉の (property: value) 自体は「この処理系が構文解析できる宣言は常に対応して いる」扱いの簡略方針である点も含め、@supports と挙動を一致させる)。
css_unit_value_to_string 🔒
expand_dollar 🔒
$&/$1..$99/$$/$`/$'/$<name> 展開。以前は $&/$1-$9/$$ のみで、 $`(一致より前の部分)・$'(一致より後ろの部分)・$<name>(名前付きキャプチャ グループ、ES2018。名前付きグループ実装と同時にここも配線)・2桁のグループ番号 ($10 以降)が非対応だった。
make_css_unit_value 🔒
CSS.number()/.percent()/.px()/.em()/.rem()/.deg()(CSS Typed OM。 element.attributeStyleMapCSSStyleValueの演算(.add()/.mul()等)を 伴う完全なTyped OMは丸ごと未対応(別途Document.parseHTMLUnsafeと同格の 「独立した実装が必要」大規模領域としてspec/TODO.mdへ記載)だが、値と 単位を保持し文字列化できるだけのCSSUnitValueファクトリ関数群自体は 単純な「値+単位のオブジェクトを手動構築する」定番パターン(DOMRect/ DOMPointと同型)で自己完結して実装できるため、こちらだけ丸ごと 未対応だったものを個別に実装する。toString()"{value}{unit記号}" を返す(numberは単位記号無し、percent%、それ以外は単位名を そのまま接尾辞に使う)。2026-07-18 発見・実装。
match_to_array 🔒
マッチ結果を JS 配列(index/input プロパティ付き)に変換。
match_to_array_impl 🔒
re_compile 🔒
RegExp.prototype.compile(pattern, flags)(レガシーだが今も仕様に残る メソッド。丸ごと未対応だった)。new RegExp(...) と異なり新しいオブジェクトを 作らず、this 自身の内部状態(パターン・フラグ・lastIndex)をその場で 差し替える。pattern が既存の RegExp なら仕様どおりその source/flags を 継承する(regexp_ctor の1引数解決ロジックと同じ規則)。
re_exec 🔒
re_symbol_match 🔒
RegExp.prototype[Symbol.match](string) (ES2015)
re_symbol_match_all 🔒
RegExp.prototype[Symbol.matchAll](string) (ES2020)
re_symbol_replace 🔒
RegExp.prototype[Symbol.replace](string, replaceValue) (ES2015)
re_symbol_search 🔒
RegExp.prototype[Symbol.search](string) (ES2015)
re_symbol_split 🔒
RegExp.prototype[Symbol.split](string, limit) (ES2015)
re_test 🔒
re_to_string 🔒
regex_replace 🔒
RegExp 置換(関数リプレーサ対応・g で全置換)。
regexp_ctor 🔒
regexp_escape_static 🔒
RegExp.escape(str)(ES2025)。ユーザー入力を正規表現の構文文字として解釈させない ために new RegExp(userInput) へ渡す前に使う定番イディオム向け。RegExp 構文上の 特殊文字(^ $ \ . * + ? ( ) [ ] { } | /)と一部の空白系制御文字をエスケープする 簡略実装(Unicode プロパティエスケープ等が絡む厳密なコーナーケースは対象外)。
regexp_get
RegExp オブジェクトのプロパティ/メソッド(interp の get_property から)。
str_match 🔒
str_match_all 🔒
String.prototype.matchAll(regexp)。以前は regexpg フラグが無くても 黙って全件マッチを返しており、仕様上必須の TypeError(無限ループの温床になり得る ため意図的に要求される)を投げていなかった。
str_search 🔒