[PHP-users 28890] Re: 正規表現による文字列の抽出
k.kikuchi
apple @ s21.fxis.fujixerox.co.jp
2006年 3月 29日 (水) 15:23:17 JST
矢地さま
こんにちは、tomです。
アドバイスありがとうございます。
> この箇所だけに限定しますが、
> 「"&q="から始まって、"&以外の文字"に挟まれた文字列」
> と考えると、
> -----
> <?php
> $line =
'http://www.google.co.jp/search?hl=ja&q=%82%a0%82%a0%20%82%a0%82%a0%81%40%82%a0&lr=';
> $pattern = '/&q=([^&]*)/';
> if (preg_match($pattern, $line, $matches)) {
> print $matches[1];
> }
> ?>
> -----
> こんな感じでしょうか。
「?q=」から始まる場合もあるためパターンの「&」を外し、
「/q=([^&]*)/」のようにして見ました。
ある程度マッチするのですが件数が合いませんでした。
おそらくこの場合「&」ではさまれていないとマッチしないと思うのですが、
「"」の場合もある場合はどのようにしたら良いのでしょうか?
「/?q=|&q=([^\"|&]*)/」のようにしてみたのですが駄目でした。
以上
PHP-users メーリングリストの案内