ホームページ >バックエンド開発 >PHPチュートリアル >PHP で POSIX 正規表現を PCRE に変換するにはどうすればよいですか?

PHP で POSIX 正規表現を PCRE に変換するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-30 01:58:08499ブラウズ

How Do I Convert POSIX Regular Expressions to PCRE in PHP?

PHP での POSIX RegExpExpressions から PCRE (preg) への変換

バージョン 5.3 以降、PHP では POSIX 正規表現 (ereg) が非推奨になりました。 0 では、Perl 互換正規表現 (PCRE) への移行が不可欠です。古い式を preg 互換の対応する式に変換するためのガイドは次のとおりです。

区切り文字:

最も重要な変更は、正規表現を囲む区切り文字の導入です。 ~、/、#、または括弧: []、()、または {} を使用できます。

エスケープ文字:

選択した区切り文字が中に存在する場合式を指定する場合は、バックスラッシュ () でエスケープします。すべての区切り文字と予約文字をエスケープするには、preg_quote を使用します。

大文字と小文字の区別修飾子:

PCRE では、eregi と同様に、大文字と小文字を区別しないマッチングのために「i」修飾子が導入されています。

シンプル一致:

あなたの例 (ereg('^hello world')) のような場合、単純な strpos で十分です:

stripos($str, 'hello world') === 0

変換例:

eregi('^hello world'); // POSIX expression

// PCRE conversion with delimiters and case-insensitive modifier
preg_match('/^hello world/i', $str);

さらにリソース:

  • PHP マニュアル - PCRE 構文: https://www.php.net/manual/en/reference.pcre.pattern.syntax.php
  • 相違点POSIX 正規表現と PCRE の間: https://www.php.net/manual/en/reference.pcre.pattern.posix.php

以上がPHP で POSIX 正規表現を PCRE に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。