PCRE エリソ�
PHP Manual

preg_match_all

(PHP 4, PHP 5)

preg_match_allキォ、�ヨ、キタオオャノスクスク。コヤ、ヲ

タ篶タ

int preg_match_all ( string $pattern , string $subject , array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]] )

subject 、。コキ。「 pattern 、ヒサリト熙キ、ソタオオャノスクス、ヒ・゙・テ・チ、キ、ソ 、ケ、ル、ニ、ホハクサ昀「flags 、ヌサリト熙キ、ソ ス酳ヨ、ヌ。「matches 、ヒツ衄�、キ、゙、ケ。」

タオオャノスクス、ヒ・゙・テ・チ、ケ、�ネ。「、ス、ホ・゙・テ・チ、キ、ソハクサ昀ホク螟ォ、� ク。コャツウケヤ、オ、�゙、ケ。」

・ム・鬣癸シ・ソ

pattern

ク。コケ、�ム・ソ。シ・ス、ケハクサ昀」

subject

ニ�ホマハクサ昀」

matches

・゙・テ・チ、キ、ソ、ケ、ル、ニ、ホニ簣ニ、゙、爍「 flags 、ヌサリト熙キ、ソキチシー、ホツソシ。クオヌロホ」

flags

ーハイシ、ホ・ユ・鬣ー、ホチネ、゚ケ遉�サ (PREG_PATTERN_ORDER 、� PREG_SET_ORDER 、ネチネ、゚ケ遉�サ、ニサネヘム、ケ、�ウ、ネ、マ フオーユフ」、ヌ、ケ、ホ、ヌテ擎ユ、キ、ニ、ッ、タ、オ、、)。」

PREG_PATTERN_ORDER

$matches[0] 、マ・ム・ソ。シ・エツホ、ヒ・゙・テ・チ、キ、ソハクサ昀ホヌロホ「 $matches[1] 、マツ� 1 、ホ・ュ・罕ラ・チ・耋ム・オ・ヨ・ム・ソ。シ・ヒ・゙・テ・チ、キ、ソハクサ昀ホヌロホ「 、ネ、、、テ、ソス酳ヨ、ネ、ハ、熙゙、ケ。」

<?php
preg_match_all
("|<[^>]+>(.*)</[^>]+>|U",
    
"<b>example: </b><div align=left>this is a test</div>",
    
$outPREG_PATTERN_ORDER);
echo 
$out[0][0] . ", " $out[0][1] . "\n";
echo 
$out[1][0] . ", " $out[1][1] . "\n";
?>

セ螟ホホ网ホスミホマ、マーハイシ、ネ、ハ、熙゙、ケ。」

<b>example: </b>, <div align=left>this is a test</div>
example: , this is a test

$out[0] 、マ・ム・ソ。シ・エツホ、ヒ・゙・テ・チ、キ、ソハクサ昀ホヌロホュ、キ、ニ、ェ、遙「 $out[1] 、マ・ソ・ー、ヌーマ、゙、�ソハクサ昀ホヌロホュ、キ、ニ、、、゙、ケ。」

PREG_SET_ORDER

$matches[0] 、マ 1 イワ、ホ・゙・テ・チ・ー、ヌ・ュ・罕ラ・チ・网キ、ソテヘ、ホヌロホ「 $matches[1] 、マ 2 イワ、ホ・゙・テ・チ・ー、ヌ・ュ・罕ラ・チ・网キ、ソテヘ、ホヌロホ「 、ネ、、、テ、ソス鄂ネ、ハ、熙゙、ケ。」

<?php
preg_match_all
("|<[^>]+>(.*)</[^>]+>|U",
    
"<b>example: </b><div align=\"left\">this is a test</div>",
    
$outPREG_SET_ORDER);
echo 
$out[0][0] . ", " $out[0][1] . "\n";
echo 
$out[1][0] . ", " $out[1][1] . "\n";
?>

セ螟ホホ网ホスミホマ、マーハイシ、ネ、ハ、熙゙、ケ。」

<b>example: </b>, example:
<div align="left">this is a test</div>, this is a test

PREG_OFFSET_CAPTURE

、ウ、ホ・ユ・鬣ー、゚ト熙キ、ソセ�遑「ウニ・゙・テ・チ、ヒツミア�、ケ、�クサ昀ホ・ェ・ユ・サ・テ・ネ、簗ヨ、オ、�゙、ケ。」 、ウ、�ヒ、隍遙「ハヨ、�ヘ、マヌロホネ、ハ、遙「ヌロホホヘラチヌ 0 、マ・゙・テ・チ、キ、ソハクサ昀「 ヘラチヌ 1 、マ subject 、ヒ、ェ、ア、� ・゙・テ・チ、キ、ソハクサ昀ホ・ェ・ユ・サ・テ・ネテヘ、ネ、ハ、�ウ、ネ、ヒテ擎ユ、キ、ニ、ッ、タ、オ、、。」

flags 、リト熙キ、ハ、、セ�遉マ。「 PREG_PATTERN_ORDER 、ャサリト熙オ、�ソ、ウ、ネ、ヒ、ハ、熙゙、ケ。」

offset

トフセ�「ク。コマツミセンハクサ昀ホタ霹ャ、ォ、魑ォサマ、オ、�゙、ケ。」 ・ェ・ラ・キ・逾ホ・ム・鬣癸シ・ソ offset 、ネヘム、キ、ニ ク。コホウォサマーフテヨ、� (・ミ・、・ネテアーフ、ヌ) サリト熙ケ、�ウ、ネ、箚トヌス、ヌ、ケ。」

テ擎ユ:

offset 、ム、、、�ホ、ネ。「 substr($subject, $offset) 、� preg_match_all()、ホツミセンハクサ昀ネ、キ、ニサリト熙ケ、�ホ、ネ、マ ナチ、ヌ、マ、「、熙゙、サ、」 、ウ、�マ。「pattern 、ヒ、マ。「 ^, $ 、� (?<=x) 、ホ、隍ヲ、ハクタフタ、゙、皃�ウ、ネ、ャ、ヌ、ュ、�ソ、皃ヌ、ケ。」 、ウ、�ヒエリ、ケ、�网ヒ、ト、、、ニ、マ。「 preg_match() 、イセネ、キ、ニ、ッ、タ、オ、、。」

ハヨ、�ヘ

・ム・ソ。シ・ャ・゙・テ・チ、キ、ソチ暠ヨ、キ、゙、ケ。ハ・シ・惕ネ、ハ、�トヌスタュ、筅「、熙゙、ケ。ヒ。」 、゙、ソ、マ。「・ィ・鬘シ、ャネッタク、キ、ソセ�遉ヒ FALSE 、ヨ、キ、゙、ケ。」

ハムケケヘ昀�

・ミ。シ・ク・逾� タ篶タ
5.4.0 matches ・ム・鬣癸シ・ソ、ャノャソワ、ヌ、マ、ハ、ッ、ハ、熙゙、キ、ソ。」
5.2.2 フセチーノユ、ュ・オ・ヨ・ム・ソ。シ・ヌ。「 (?<name>) 、� (?'name') 、ホ、隍ヲ、ハケスハク、� (?P<name>) 、ネニアヘヘ、ヒシアニ�、��隍ヲ、ヒ、ハ、熙゙、キ、ソ。」 ーハチー、ホ・ミ。シ・ク・逾ヌ、マ (?P<name>) キチシー、キ、ォサネ、ィ、゙、サ、ヌ、キ、ソ。」
4.3.3 ・ム・鬣癸シ・ソ offset 、ャトノイテ、オ、�゙、キ、ソ。」
4.3.0 ・ユ・鬣ー PREG_OFFSET_CAPTURE 、ャトノイテ、オ、�゙、キ、ソ。」

ホ�

ホ�1 ・ニ・ュ・ケ・ネ、ォ、鬢ケ、ル、ニ、ホナナマテネヨケ讀タ、�

<?php
preg_match_all
("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
                
"Call 555-1212 or 1-800-555-1212"$phones);
?>

ホ�2 HTML ・ソ・ー、ヒ・゙・テ・チ、ケ、�筅ホ、ォノユ、ア、�ハ�ペ。ヒ

<?php
// \\2 、マク衞�サイセネ、ホホ罍」、ウ、�マ。「pcre 、ヒタオオャノスクステ讀ホウ邵フ、ホ 2 ネヨフワ、ホ
// チネ。「、ト、゙、熙ウ、ホセ�遉マ ([\w]+)。「、ヒ・゙・テ・チ、ケ、�」ハクサ昀ャニナー敎ムノ荀ヌ
// ウ遉鬢�ニ、、、�ソ、癸「・ミ・テ・ッ・ケ・鬣テ・キ・螟ホトノイテ、ャノャヘラ。」
$html "<b>bold text</b><a href=howdy.html>click me</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/"$html$matchesPREG_SET_ORDER);

foreach (
$matches as $val) {
    echo 
"matched: " $val[0] . "\n";
    echo 
"part 1: " $val[1] . "\n";
    echo 
"part 2: " $val[2] . "\n";
    echo 
"part 3: " $val[3] . "\n";
    echo 
"part 4: " $val[4] . "\n\n";
}
?>

セ螟ホホ网ホスミホマ、マーハイシ、ネ、ハ、熙゙、ケ。」

matched: <b>bold text</b>
part 1: <b>
part 2: b
part 3: bold text
part 4: </b>

matched: <a href=howdy.html>click me</a>
part 1: <a href=howdy.html>
part 2: a
part 3: click me
part 4: </a>

ホ�3 フセチー、ト、ュ・オ・ヨ・ム・ソ。シ・ホサネヘムヒ。

<?php

$str 
= <<<FOO
a: 1
b: 2
c: 3
FOO;

preg_match_all('/(?P<name>\w+): (?P<digit>\d+)/'$str$matches);

/* PHP 5.2.2 (PCRE 7.0) ーハケ゚、ヌ、マ、ウ、ホキチシー、ヌ、簇ーコ釥キ、゙、ケ、ャ。「
 * イ盞釥ネ、ホク゚エケタュ、ヘホク、キ、ニセ螟ホキチシー、ホ、ロ、ヲ、萓ゥ、キ、゙、ケ */
// preg_match_all('/(?<name>\w+): (?<digit>\d+)/', $str, $matches);

print_r($matches);

?>

セ螟ホホ网ホスミホマ、マーハイシ、ネ、ハ、熙゙、ケ。」

Array
(
    [0] => Array
        (
            [0] => a: 1
            [1] => b: 2
            [2] => c: 3
        )

    [name] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [digit] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

サイケヘ


PCRE エリソ�
PHP Manual