java从一个String提取出特定子字符串

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:08:59
例如有代码:
<li>本网价:<span class=span1>¥42.70</span></li></ul><ul><li>市 场 价:<s>¥49.00</s></li><li>折 扣:88折<span class=span3> 节省:¥6.30</span></li>

我只需要提取出两个数字: 42.70和 49.00
怎样写代码操作
要注意数字的位数不固定,但是标签的总体结构固定
请给予正则表达式内容,谢

以下是程序,自己运行一下吧。需要改成函数或类请自便。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test{
public static void main(String[] args){
String regex="<span class=span1>¥(\\d+[.]\\d+)</span>";
Pattern pattern=Pattern.compile(regex);

String input="<li>本网价:<span class=span1>¥42.70</span></li></ul><ul><li>市 场 价:<s>¥49.00</s></li><li>折 扣:88折<span class=span3> 节省:¥6.30</span></li>";

Matcher matcher=pattern.matcher(input);

// 找 42.70
while(matcher.find()){
System.out.println(matcher.group(1));
}

regex="<s>¥(\\d+[.]\\d+)</s>";
pattern=Pattern.compile(regex);

matcher=pattern.matcher(input);
// 找 49.00
while(matcher.find()){