エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
最短一致・最長一致・独占的量指定子つき最長一致のベンチマーク - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
最短一致・最長一致・独占的量指定子つき最長一致のベンチマーク - Qiita
はじめに 言語別:パスワード向けの正規表現 で議論をしているうちに、バックトラックについての疑問が... はじめに 言語別:パスワード向けの正規表現 で議論をしているうちに、バックトラックについての疑問がわいてきたので、ここで実際に調査してみることにします。 「文字列 ~ 正規表現 (最長一致の基本形)」の見出しとします。 Case 1: "aaa...aaa" ~ /\Aa+a\z/ 最短一致と最長一致を比較する際に用いられる典型的な例です。このケースはマッチ成功を期待します。 予想 最短一致は、1回ごとに後ろとマッチするかどうかを検証するので遅い。 最長一致は、末尾まで消費した後1回のバックトラックでマッチするので速い。 独占的量指定子付き最長一致は、最長一致と速度は同等だがマッチしない。 結果 <?php $try = 10000; $length = 100000; $patterns = [ '最短一致' => '/\Aa+?a\z/', '最長一致' => '/\Aa+a\z/',