regex / capture / boundary / replacement

正規表現のcapture・境界・greedy差を分ける

match全体とcaptureを分け、境界、greedy、no-match、置換前のリスクを確認します。ユーザー入力は実行せず、合成caseだけを使います。

5つの確認軸

正規表現のレビューでは、match、capture group、boundary、greedy量指定、replacementを別々に確認すると置換事故を減らせます。

match全体 ≠ capture group / boundary → greedy → replacement
レビュー
groupmatch全体とcapture番号を分ける。
boundary隣接文字まで取り込まないか確認する。
greedy最長一致が広すぎないか確認する。
no-match不一致を成功扱いしない。
replacementcapture番号と置換先を実行前に確認する。

安全な修正の順番

  1. 合成入力でmatch全体を記録する。
  2. capture groupとboundaryを切り分ける。
  3. greedyとno-matchを確認する。
  4. replacement riskをレビューしてから実データへ戻る。

このページはユーザー入力や実データを実行しません。実置換は確認票の承認後に既存ツールで行います。

6つの合成case

case結果
group-captureCapture group
boundary-missingBoundary required
greedy-overmatchGreedy overmatch
no-matchNo match
replacement-riskReplacement risk
unsupported-user-textReject