[英]Java regex, need help with escape characters
我的HTML看起来像:
<td class="price" valign="top"><font color= "blue"> $ 5.93 </font></td>
我试过了:
String result = "";
Pattern p = Pattern.compile("\"blue\"> $ (.*) </font></td>");
Matcher m = p.matcher(text);
if(m.find())
result = m.group(1).trim();
似乎不匹配。
我想念逃脱符吗
除非在正则表达式级别转义,否则$
表示与行尾匹配。 为了获得转义$
所需的单个\\
需要在String文字中进行转义; 即两个\\
字符。 所以...
... Pattern.compile("\"blue\"> \\$ (.*) </font></td>");
但是那些评论您不应该使用正则表达式来解析HTML的人是绝对正确的 ! 除非您需要长期脆弱的代码,否则您的代码应使用严格或非严格的HTML解析器。
可能您需要转义$
(我认为,请加上两个斜线)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.