两个字符串之间的RegEx

laik7k3q  于 2023-05-08  发布在  其他
关注(0)|答案(3)|浏览(174)

我如何在这个字体标签之间获得“$0.00”?

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

这是页面上唯一一个我想得到的。
我真的不懂正则表达式,所以也许有人可以帮助,而他们的答案太!
谢谢
编辑:$符号也不总是在那里。例如,它可能是;
EUR 0,00£ 4.44

avwztpqn

avwztpqn1#

您在这里要求使用正则表达式,但它不是解析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

fhity93d

fhity93d2#

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

工作演示:https://regex101.com/r/ME7QqL/1
如果周围有更多的空间用途:

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

也许你必须用""替换所有的"\n"才能正常工作--还没有测试过。

bbuxkriu

bbuxkriu3#

https://regex101.com/r/hapFEQ/1

const pattern = /<font color="#99002B".*?>([\s\S]*?)<\/font>/i;
const match = `<font color="#99002B">
$0.00
</font>`.match(pattern);
const result = match ? match[1].trim() : '';
console.log(result);

相关问题