关于Java正则表达式的非贪婪模式 正则表达式java 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要先进行查找匹配,才能使用group方法。其中正则让我做了点修改,在每个匹配点上加了分组,也就是()包裹,用于提取更多信息。具体代码如下: Pattern linkPattern = Pattern.compile("\\[(.*?)\\]\\((.*?)\\)"); Matcher linkMatcher = linkPattern .matcher("[link](www.baidu.com) and [link](www.youku.com)"); while(linkMatcher.find()){ String result = linkMatcher.group(); System.out.println(result); System.out.println(linkMatcher.group(1)); System.out.println(linkMatcher.group(2)); } 在使用group时一定要调用find(),否则会产生编译错误,代码如下:import java.util.regex.Matcher;import java.util.regex.Pattern;public class ZhengZe { public static void main(String[] args) { Pattern linkPattern = Pattern.compile("\\[.*?\\]\\(.*?\\)"); Matcher linkMatcher = linkPattern.matcher("[link](www.baidu.com) and [link](www.youku.com)"); while(linkMatcher.find()) { String result = linkMatcher.group(); System.out.println(result); } }}结果:[link](www.baidu.com)[link](www.youku.com) 要想只得到一个匹配结果,就对正则进行分组,然后用group(0)表示全部,group(1)只匹配第一个分组,group(2)只匹配第二个分组……以此类推 Pattern linkPattern = Pattern.compile("\\[.*?\\]\\(.*?\\)"); Matcher linkMatcher = linkPattern.matcher("[link](www.baidu.com) and [link](www.youku.com)"); if(linkMatcher.find()){ String result = linkMatcher.group(0); System.out.println(result); }结果是[link](www.baidu.com),正是贪婪匹配的结果。 高手帮改一个很小的程序 这是怎么回事??? 新手:java调用存贮过程问题,请各位近来帮个忙,,急,在线等. 关于Applet初始化的问题,init()方法写了,为什么还说没有初始化? jar在hpux上压缩对文件大小有限制吗? 关于JMF的菜鸟问题!!!!(急) 救命,我改一程序就改不成功,谁帮邦我? 送《java编程思想》(中文第二版)e书=100分 我的jbuilder没有声音 一个初级问题! ArrayList关于equals的问题 为什么敲回车后它不停止输入呢?而是回车后换行还可以无限输入,实在是不知道哪里错了
其中正则让我做了点修改,在每个匹配点上加了分组,也就是()包裹,用于提取更多信息。
具体代码如下: Pattern linkPattern = Pattern.compile("\\[(.*?)\\]\\((.*?)\\)");
Matcher linkMatcher = linkPattern
.matcher("[link](www.baidu.com) and [link](www.youku.com)");
while(linkMatcher.find()){
String result = linkMatcher.group();
System.out.println(result);
System.out.println(linkMatcher.group(1));
System.out.println(linkMatcher.group(2));
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ZhengZe {
public static void main(String[] args) {
Pattern linkPattern = Pattern.compile("\\[.*?\\]\\(.*?\\)");
Matcher linkMatcher = linkPattern.matcher("[link](www.baidu.com) and [link](www.youku.com)");
while(linkMatcher.find())
{
String result = linkMatcher.group();
System.out.println(result);
}
}
}结果:
[link](www.baidu.com)
[link](www.youku.com)
Matcher linkMatcher = linkPattern.matcher("[link](www.baidu.com) and [link](www.youku.com)");
if(linkMatcher.find()){
String result = linkMatcher.group(0);
System.out.println(result);
}
结果是[link](www.baidu.com),正是贪婪匹配的结果。