浏览 2635 次
锁定老帖子 主题:jdk1.5 正则表达式的一个问题
精华帖 (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);",请大家帮忙看看,问题出在哪里? 谢谢 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间: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); }就行了 |
|
返回顶楼 | |