Products
GG网络技术分享 2025-03-18 16:15 0
例如我写了一个正则,可以匹配百度上面所有的a标签
public static void main(String[] args){
String baiduHtml = getUrlString();
System.out.println(baiduHtml);
Pattern pattern = Pattern.compile(\"<a(.*?)>(.*?)</a>\");
Matcher matcher = pattern.matcher(baiduHtml);
if (matcher.find()) {
System.out.println(matcher.group());
}
}
输出结果
<a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a>
对于这类xml格式,最好不用正则匹配,处理会很麻烦
可以用xml类库来解析
http://www.ibm.com/developerworks/cn/xml/dm-1208gub/
一般处理xml不会用正则,而是xpath
可以用matcher,参考
http://blog.csdn.net/debugingstudy/article/details/12720087
正则表达式分组命名捕获 (?(.*?))
http://blog.csdn.net/su1216/article/details/49407381
正则表达式分组命名捕获
http://blog.csdn.net/su1216/article/details/49407381
String s = \\\"2015-10-26\\\";
Pattern p = Pattern.compile(\\\"(?\\d{4})-(?\\d{2})-(?\\d{2})\\\");
Matcher m = p.matcher(s);
if (m.find()) {
System.out.println(\\\"year: \\\" + m.group(\\\"year\\\")); //年
System.out.println(\\\"month: \\\" + m.group(\\\"month\\\")); //月
System.out.println(\\\"day: \\\" + m.group(\\\"day\\\")); //日
System.out.println(\\\"year: \\\" + m.group(1)); //第一组 System.out.println(\\\"month: \\\" + m.group(2)); //第二组
System.out.println(\\\"day: \\\" + m.group(3)); //第三组
}
匹配过程
Demand feedback