我在尝试从文本
中提取正确的值时遇到问题我想从以下文本中提取14.50
(这是字符串中的最后一个十进制数字)。
字符串
<span class="ob-pricedetails">Price:</span> $57.71<span style="color: #666666; font-size: 12px;">(£37.61)</span><br/><span style="font-size: 11px; color: #000000;">Shipping (UK):</span>$14.50
我一直在尝试使用以下正则表达式
正则表达式
(?<=Shipping \(UK\):<\/span>£|$)(.*)
由于某些奇怪的原因返回以下结果
57.71<span style="color: #666666; font-size: 12px;">(£37.61)</span><br/><span style="font-size: 11px; color: #000000;">Shipping (UK):</span>$14.50
我做错了什么?任何帮助将不胜感激。
答案 0 :(得分:2)
这样可行:
preg_match('/Shipping \(UK\):<\/span>$([0-9]+\.[0-9]+)/', $html, $matches);
当然你应该听大家建议你使用DOM解析器而不是正则表达式。
答案 1 :(得分:1)
这应该适合你。
[0-9\.]+$