Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PCREとPCRE-JITとPHP / pcre-pcre-jit-and-php

PCREとPCRE-JITとPHP / pcre-pcre-jit-and-php

PHPのPCREについて、基本的なこと

Ryo Tomidokoro

May 29, 2019
Tweet

More Decks by Ryo Tomidokoro

Other Decks in Technology

Transcript

  1. Basic Regular Expression 正規表現の種類 Extended Regular Expression GNU Emacs Regular

    Expression sed, awk, grep の正規表現 | + ? などの表現が追加 PHPではereg_系の関数で使われる正規表現 (現在は非推奨) \w \b などの特殊文字列表現が使える
  2. PCREとPCRE-JITの歴史 1997-9-10 ver 0.91 -> PCREのもっとも古いchangelogの日付 . . . 2011-10-21

    ver 8.20 -> PCRE-JITがリリース 2015-1-05 ver 10.00 -> PCRE2がリリース このリリース以降、PCREはバグフィックスのみ。 PCRE-JITもPCRE2-JITとバージョンに合わせた名前に変更 ※重要 PCRE2-JITにおいて、APIに若干の変更がある [引用] https://www.pcre.org/original/changelog.txt
  3. PHPとPCRE-JITの歴史 PCREはPHP4系から存在していたようなので馴れ初めは割愛 [2015-12-03] PHP7のリリース、pcre.jit=1 がデフォルト設定に。 [2017-11-30] PHP7.2 Support for PCRE

    JIT Fast Path -> pcre_jit_exec [2018-12-06] PHP7.3のリリース PCREからPCRE2にライブラリが変更 [引用] https://www.php.net/releases/
  4. Stackサイズ表 PHPバージョン PCRE-JITスタックサイズ 7.0系 32K ~ 64K 7.1系 32K ~

    64K 7.2系 32K ~ 64K 7.3系 32K ~ 192K 7.3系で PCRE_JIT_STACK_MAX_SIZE が変更になっていた