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