正規表現「[^][]」の理解:
提供されたパターンの正規表現「[^][]」 「[(?:[^][]|(?R))*]」は、角括弧 ([ または]).
説明:
固有の考慮事項:
他の正規表現エンジンとは異なり、 PCRE (PHP の「preg_」関数で使用される) では、文字クラス内で [ または ] をエスケープする必要はありません。これは、PCRE がこれらを他の文字クラスと区別するためです。
さらに、正規表現パターン "[^]]" は、] が最初の文字であるため、曖昧ではありません。これは、] が後に続く文字と一致することを意味します。 a の後に ] を一致させるには、1 と書きます。
パターンの最適化:
パターンをさらに強化するには再利用可能で効率的であるため、次のように最適化できます。
プログラミング言語間のバリエーション:
PHP 7.3 で導入されたインライン "xx" 修飾子により、文字クラス内で空白を無視できるようになります。ただし、この構文は、Ruby や JavaScript などのすべての正規表現でサポートされているわけではありません。 JavaScript では、具体的には、「[]」は常に一致しないトークンであり、「[^]」は任意の文字と一致します。
以上が「[^][]」正規表現は PCRE でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。