频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
java正则表达式分析替换字符串
2011-09-02 15:17:34           
收藏   我要投稿

Java代码 
public static void main(String[] args){ 
         
        String regex = "\\$\\{(.+?)\\}"; 
        String str = "<a onclick=\"showUserName('${session.user.username}','${session.user.password}');\" >linkme</a>" ; 
        Pattern pattern = Pattern.compile(regex); 
        System.out.println(pattern); 
        Matcher matcher = pattern.matcher(str); 
        StringBuffer sb = new StringBuffer(); 
        while (matcher.find()) { 
            System.out.println(">>>>> replace sequence : " + matcher.group(0)); 
            System.out.println(">>>>> index range : (" + matcher.start() + ", " + matcher.end() + ")"); 
            System.out.println(">>>>> sub : " + str.substring(matcher.start(), matcher.end())); 
            matcher.appendReplacement(sb, "123"); 
            System.out.println("-----------------"); 
        } 
        matcher.appendTail(sb); 
        System.out.println(">>>> sb : " + sb.toString()); 
 
    } 
 
输出: 
 
\$\{(.+?)\} 
>>>>> replace sequence : ${session.user.username} 
>>>>> index range : (26, 50) 
>>>>> sub : ${session.user.username} 
----------------- 
>>>>> replace sequence : ${session.user.password} 
>>>>> index range : (53, 77) 
>>>>> sub : ${session.user.password} 
----------------- 
>>>> sb : <a onclick="showUserName('123','123');" >linkme</a>

作者“penggle”
 

点击复制链接 与好友分享!回本站首页
上一篇:使用JDBC时Class.forName()的作用
下一篇:java编写扑克的洗牌程序
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站