两个字符串之间的RegEx

时间:2014-08-16 22:22:27

标签: regex

如何在此字体标记之间获得“$ 0.00”?

<font color="#99002B">
$0.00
</font>

这是我想要获得的页面上唯一的一个。

我真的不懂正则表达式,所以也许有人可以帮助他们回答!

由于

编辑: $符号并不总是存在。例如,它可能是;

EUR 0,00 £ 4.44

2 个答案:

答案 0 :(得分:1)

您已在此处要求提供正则表达式,但它不是解析HTML的正确tool

$doc = new DOMDocument;
$doc->loadHTML($html); // Load your HTML data

$xpath = new DOMXPath($doc);
$node  = $xpath->query("//font[@color='#99002B']")->item(0);
echo $node->nodeValue; //=> "$0.00"

Working Demo

答案 1 :(得分:0)

/<font color="#99002B">\n?(.+[0-9]+\.[0-9]+)\n?<\/font>/

工作演示:http://refiddle.com/refiddles/53efdb3b75622d2c63940500

如果使用周围还有更多空格:

/<font color="#99002B">\s*(.+[0-9]+\.[0-9]+)\s*<\/font>/

也许您必须在"\n"之前将所有""替换为{{1}},然后再进行测试。