[PHP] 正規表現でかっこ()で囲まれた文字を抽出 preg_match_all

PHPでかっこで囲まれた文字を正規表現を使って抽出してみます。
抽出する関数は preg_match_allを使います。
文字列 (東京都)(神奈川県)(千葉県) の中から、
(東京都)
(神奈川県)
(千葉県)
の3つが抽出されるようにします。
プログラム
1 2 3 |
$str='(東京都)(神奈川県)(千葉県)'; $pattern = '/\(.+?\)/'; preg_match_all($pattern, $str, $match); |
preg_match_all の $patternは ‘//’の中に正規表現を書きます。前後のスラッシュを忘れないようにしましょう。
今回は()とその中の文字を抽出するので、 $pattern にまずは ’/\(\)/’; と書きましょう。()は特殊文字なので、前に\(バックスラッシュ)をつけます。
「.+?」は1文字以上の文字で最短一致のものを意味しています。
結果
$matchの中身は以下のようになります。
1 2 3 4 5 6 7 8 9 10 |
Array ( [0] => Array ( [0] => (東京都) [1] => (神奈川県) [2] => (千葉県) ) ) |
関連記事
- [PHP] 文字列から指定された桁数の数字を抽出する方法 preg_match_all()
- [PHP] 配列の要素を逆順にして返す方法
- [CakePHP]独自SQLを使うとき出力データのモデル名を大文字に変更する方法
- [Laravel] DBから取得したデータの中身を簡単に見る方法
- [PHP] 配列の合計値を計算する方法