現在、私たちが正規表現と呼んでいるものは、基本的に Perl スタイルと互換性のある正規表現を指します。 POSIX 形式の正規表現は基本的に使用されなくなったため、PHP5.3 以降は使用が推奨されなくなりました。関連する関数は PHP の次のバージョンで削除される可能性があります。
正規表現については、あまりにも複雑なので、今後正規表現の本を読んでみたいと思っているので、Perl風正規表現に対応した一部の関数のみ紹介します。
1. 区切り文字
区切り文字は正規表現の先頭と末尾を表し、通常はスラッシュ (/) で表されます。 PHP (他の言語ではまだテストされていません) では、他の非英数字文字に置き換えることもできます。たとえば、/d+/ と #d+# は、同じ正規表現 d+ を表します。同時に、[d+] など、括弧のペア、角括弧のペア、中括弧のペアを区切り文字として使用することもできます。
2. 関数
マッチング関数: preg_match();
分割関数: preg_split();
サンプルコード:
コード コードは次のとおりです:
$a =
bbbbbb 16
$ret = preg_match(/(w+) (d+)/, $a, $match) ;
// $ret : 1
// $match : array(aaaaaa 15′, aaaaaaa, 15′)
$ret = preg_match_all(/(w+) (d+)/, $a, $match);
// $ret : 2
// $match : array(
// array(aaaaaaa 15′, bbbbbbb 16′),
// array(bbbbbb, bbbbbbb),
// array(15′, 16′) ,
/ / )
$ret = preg_match_all(/(w+) (d+)/, $a, $match, PREG_SET_ORDER);
// $ret : 2
// $match : array(
// array(aaaaaaaa) 15′, bbbbbbb, 15′),
// array(bbbbbb 16′, bbbbbbb, 16′),
// )
$b = preg_replace(/(w+) (d+)/, 1, 2′, $a );
// $b : aaaaaaa, 15
// bbbbbb, 16′
$c = preg_split(/s/, $a);
// $c : array(aaaaaaa, 15′, bbbbbb, 16′)
$files = array(aa.txt, bb.xls, cc.txt);
$txtFiles = preg_grep(/.*.txt/, $files);
// $txtFiles : array(aa.txt, cc. txt)
参考文献:
PHP プログラミング、2003 年、第 4 章文字列、正規表現
上記では、Photoshop 学習 Web サイトと PHP 学習正規表現について、Photoshop 学習 Web サイトの内容を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。