gpt4 book ai didi

Java 正则表达式,需要有关转义字符的帮助

转载 作者:行者123 更新时间:2023-11-29 06:22:04 24 4
gpt4 key购买 nike

我的 HTML 看起来像:

<td class="price" valign="top"><font color= "blue">&nbsp;&nbsp;$&nbsp;      5.93&nbsp;</font></td>

我试过:

String result = "";
Pattern p = Pattern.compile("\"blue\">&nbsp;&nbsp;$&nbsp;(.*)&nbsp;</font></td>");

Matcher m = p.matcher(text);

if(m.find())
result = m.group(1).trim();

似乎不匹配。

我是否缺少转义字符?

最佳答案

除非在正则表达式级别进行转义,否则 $ 表示匹配行尾。并且要获得转义 $ 所需的单个 \ 需要在 String 文字中转义;即两个 \ 字符。所以……

... Pattern.compile("\"blue\">&nbsp;&nbsp;\\$&nbsp;(.*)&nbsp;</font></td>");

但是那些评论说你不应该使用正则表达式来解析 HTML 的人绝对正确!!除非您想要长期脆弱的代码,否则您的代码应该使用严格或非严格的 HTML 解析器。

关于Java 正则表达式,需要有关转义字符的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2660522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com