PHP preg_match匹配值

时间:2014-05-25 17:42:56

标签: php regex

我的preg_match匹配太多了。

搜索HTML:

$html = '<html><body>etc etc name="foo" value="123456ABCD_!#123456" bla bla</body></html>';

MY PATTERN

preg_match('/name=\"foo\" value=\"(.*)\"/', $html, $matches);

我的结果

array (
  0 => 'name="foo" value="123456ABCD_!#123456"',
   1 => '123456ABCD_!#123456" bla bla</body></html>',
)

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

你需要非贪婪的修饰符

答案 1 :(得分:0)

.*贪婪;它匹配它可以做的一切。

您可以非贪婪地使用它(.*?)或使用它:[^"]*

答案 2 :(得分:0)

.*也与收盘价匹配。将其替换为([^\"]*