PCREの制限事項は何ですか?
PCREはPerl Compatible Regular Expressionsの略称で、パターンマッチ用の正規表現エンジンです。PCRE制限とは、PCREエンジンを使用する際の正規表現のパターン、入力文字列、およびマッチオプションなどに関する制限を指します。
PCRE の制限は、コンパイル時とランタイムの 2 種類に分けられます。
コンパイル時の制約:
- PCRE_MAX_PATTERN_LENGTH:正規表現パターンの最大長を制限する。この長を超えた場合、パターンをコンパイルすることはできません。
- PCRE_MAX_PATTERN_DEPTH:正規表現パターンのネストの深さを制限します。この深さを超えるパターンはコンパイルできません。
- PCRE_MAX_PATTERN_SIZE: 制限された正規表現パターンサイズで、サイズを超えるとパターンがコンパイルできない
実行時制限は以下です:
- PCRE_MATCH_LIMIT:マッチング操作を中止する最大マッチング回数を制限します。
- 再帰呼び出しの最大深度を制限し、設定された深度を超える再帰呼び出しは終了します。
PCREの設定可能によって、これらの制限の具体値を変更できます。 diferite PCRE の实现にはそれぞれ異なるデフォルト値があります。PCRE の制限を知っていると、プログラムの開発者は、正規表現を使用するときに、パフォーマンスの問題や特定のケースに対する対応不能を回避することができます。