java正则问题求救

jinjzk 2014-12-18 08:31:08
String str1 = "<a href='url1'>精选</a><a href='url2'>论坛</a>";
或者
String str2 = "<a href='url1'>精选</a><a href='url2'>论坛</a><a href='url3'>地图</a>";
或者
String str3 = "<a href='url1'>精选</a><a href='url2'>论坛</a><a href='url3'>地图</a><a href='url4'>专家</a>";
用正则去掉最后一个a标签,结果如下:
String str1 = "<a href='url1'>精选</a>论坛";
String str2 = "<a href='url1'>精选</a><a href='url2'>论坛</a>地图";
String str3 = "<a href='url1'>精选</a><a href='url2'>论坛</a><a href='url3'>地图</a>专家";
...全文
145 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
木飞骄 2014-12-18
  • 打赏
  • 举报
回复
搞定收工。

package cn.seedeed.test;

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

public class TestRegex {
	
	private static Pattern pattern = Pattern.compile("((<a\\s+href='.+?'>.+?</a>)+)<a\\s+href='.+?'>(.+?)</a>");

	public static void main(String[] args) {
		String str1 = "<a href='url1'>精选</a><a href='url2'>论坛</a>";
		String str2 = "<a href='url1'>精选</a><a href='url2'>论坛</a><a href='url3'>地图</a>";
		String str3 = "<a href='url1'>精选</a><a href='url2'>论坛</a><a href='url3'>地图</a><a href='url4'>专家</a>";
		
		System.out.println(replace(str1));
		System.out.println(replace(str2));
		System.out.println(replace(str3));
	}
	
	private static String replace(String str) {
		Matcher matcher = pattern.matcher(str);
		if (matcher.find()) {
			return matcher.group(1) + matcher.group(3);
		}
		return str;
	}

}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧