現在、私たちが正規表現と呼んでいるものは、基本的に Perl スタイルと互換性のある正規表現を指します。 POSIX 形式の正規表現は基本的に使用されなくなったため、PHP5.3 以降は使用が推奨されなくなりました。関連する関数は PHP の次のバージョンで削除される可能性があります。
正規表現については、あまりにも複雑なので、今後正規表現の本を読んでみたいと思っているので、Perl風正規表現に対応した一部の関数のみ紹介します。
1. 区切り文字
区切り文字は正規表現の始まりと終わりを示し、通常はスラッシュ (/) で表されます。 PHP (他の言語ではまだテストされていません) では、他の非英数字文字に置き換えることもできます。たとえば、/d / と #d # は同じ正規表現 d を表します。同時に、[d] のように、括弧のペア、角括弧のペア、中括弧のペアを区切り文字として使用することもできます。
2. 関数
マッチング関数: preg_match();
置換関数: preg_split();
フィルター関数: preg_grep();
サンプルコード:
コードをコピーします コードは次のとおりです:
$a =
$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′, bbbbbb 16′),
// array( bbbbbb, bbbbbbb),
// array(15′, 16′),
// )
$ret = preg_match_all(/(w ) (d )/, $a, $match , PREG_SET_ORDER );
// $ret : 2
// $match : array(
// array(aaaaaaa 15', bbbbbb, 15'),
// array(bbbbbb 16' , bbbbbb , 16′),
// )
$b = preg_replace(/(w ) (d )/, 1, 2′, $a); aaaaaaa, 15
// bbbbbb, 16′
$c = preg_split(/s/, $a)
// $c : array(aaaaaaaa, 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 章 文字列、正規表現