论坛首页 Java企业应用论坛

jdk1.5 正则表达式的一个问题

浏览 2622 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-04  
请看以下这段代码:
package regex;

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

public class TestRegex {
	public static void main(String[] args) {
		String str = "收盘价=min(sss);市值=max(sss);";
		String regex = "(?=收盘价=)(.*?)(?<=;)";
		Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
		Matcher matcher = pattern.matcher(str);
		int groupcount = matcher.groupCount();
		System.out.println(groupcount);

		while (matcher.find()) {
			String group = matcher.group();
			System.out.println(group);
		}
	}
}


我的目的是通过Matcher.group(),求出字符串中“min(sss)”字串,但是实际输出却是"收盘价=min(sss);",请大家帮忙看看,问题出在哪里?
谢谢
   发表时间:2008-03-04  
找到问题原因了。
        while (matcher.find()) {   
            String group = matcher.group();   
            System.out.println(group);   
        }  

改为
        while (matcher.find()) {   
            String group = matcher.group(1);   
            System.out.println(group);   
        }  
就行了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics