- 浏览: 834415 次
文章分类
- 全部博客 (365)
- java (124)
- spring mvc (21)
- spring (22)
- struts2 (6)
- jquery (27)
- javascript (24)
- mybatis/ibatis (8)
- hibernate (7)
- compass (11)
- lucene (26)
- flex (0)
- actionscript (0)
- webservice (8)
- rabbitMQ/Socket (15)
- jsp/freemaker (5)
- 数据库 (27)
- 应用服务器 (21)
- Hadoop (1)
- PowerDesigner (3)
- EJB (0)
- JPA (0)
- PHP (2)
- C# (0)
- .NET (0)
- html (2)
- xml (5)
- android (7)
- flume (1)
- zookeeper (0)
- 证书加密 (2)
- maven (1)
- redis (2)
- cas (11)
最新评论
-
zuxianghuang:
通过pom上传报错 Artifact upload faile ...
nexus上传了jar包.通过maven引用当前jar,不能取得jar的依赖 -
流年末年:
百度网盘的挂了吧???
SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) -
953434367:
UfgovDBUtil 是什么类
Java发HTTP POST请求(内容为xml格式) -
smilease:
帮大忙了,非常感谢
freemaker自动生成源代码 -
syd505:
十分感谢作者无私的分享,仔细阅读后很多地方得以解惑。
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
首先说明一下.我是做的邮件发送功能..~~ 图片已经上传到了 服务器, 现在的问题是,发送后的图片不能正常显示,路径不对.. 我是想用Java正则表达式匹配出上传的图片地址并替换掉
方法一:
public class TestImg2 {
private String replaceImgSrc(String content,String replaceHttp){
String result ="";
// String patternStr="^.*<img\\s*.*\\s*src=\\\"(.*)\\\"\\s*.*>.*$";
// String patternStr=".*?<img\\s*.*?\\s*src=\\\"(.*)\\\"\\s*.*?>.*";
// String patternStr="^.*<img\\s*.*\\s*src=\\\"(.*?)\\\"\\s*.*>.*$";
// String patternStr="<img(?:.*)src=(\"{1}|\'{1})([^\\[^>]+[gif|jpg|jpeg|bmp|bmp]*)(\"{1}|\'{1})(?:.*)>";
// String patternStr="<img.*src=(.*?)[^>]*?>src=\"?(.*?)(\"|>|\\s+)";
// String patternStr="(?i)<img[^>]*?src=\"([])\"";
// String patternStr = "<img\\s+[^>]*?src="((\\w+?:\\/\\/|/)[^"]*?)"[^>]*?>";
// String patternStr = "<img\\s+[^>]*?src=\"((\\w+?:?//|\\/|\\w*)[^\"]*?)\"[^>]*?>";
String patternStr = "<img\\s+[^>]*?src=[\"|\']((\\w+?:?//|\\/|\\w*)[^\"]*?)[\"|\'][^>]*?>";
Pattern pattern=Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(content);
//如果匹配到了img
System.out.println("matcher.matches() == "+matcher.matches());
if(matcher.matches()){
result=content.replaceAll(matcher.group(1),(replaceHttp+matcher.group(1)));
System.out.println(" result == "+result);
}else{
result =content;
}
return result;
}
public static void main(String[] args) {
TestImg2 ss = new TestImg2();
String content = "<p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"3\"</p><p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"33\" /></p><p> </p><p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"3\"</p><p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"33\" /></p><p> </p>";
// String content = "<p><img title=\"33\" alt=\"33\" align=\"left\" src=\"/WorkStation/attached/20110802/20110802173151_741.gif\" width=\"33\" height=\"33\" /></p><p> </p><p> </p><p> <img title=\"32\" alt=\"32\" src=\"/WorkStation/attached/20110802/20110802173215_520.gif\" width=\"33\" height=\"33\" /></p>" ;
ss.replaceImgSrc(content, "http://10.10.0.126:8088");
}
}
方法二
public class TestImg {
public static void main(String[] args) {
String content = "<p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"3\"</p>";
// String content = "<p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"3\"</p><p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"33\" /></p><p> </p><p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"3\"</p><p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"33\" /></p><p> </p>";
// content = content.replaceAll("(.*)src=\"(.*)", "$1src=\"http://127.0.0.1:8088$2");
content = content.replaceAll("(.*?)src=\"(.*?)", "$1src=\"http://127.0.0.1:8088$2");
// String contents = content.replaceAll("(.*?)src=\"(.*?)", "$1src=\""+path+"$2");
System.out.println(content);
// String str = "<img src=\"/WorkStation/attached/20110729/2011072917.jpg\" width=\"333\" height=\"333\" /><img src=\"/WorkStation/attached/20110729/2011072916.jpg\" width=\"333\" height=\"333\" /><img src=\"/WorkStation/attached/20110729/2011072917.jpg\" width=\"333\" height=\"333\" />";
}
}
// 获取项目的基路径(用于拼接图片的全路径)
private String basePaths(){
FacesContext context = FacesContext.getCurrentInstance();
ExternalContext ec = context.getExternalContext();
HttpServletRequest request = (HttpServletRequest) ec.getRequest();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();
// System.out.println("request.getRequestURL() == "+request.getRequestURL());
System.out.println("basePath == "+basePath);
return basePath;
}
发表评论
-
eclispe 实用插件大全
2016-03-31 10:17 784在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的 ... -
单点登录 SSO Session
2016-03-14 16:56 4014单点登录在现在的 ... -
通用权限管理设计 之 数据库结构设计
2016-01-26 13:22 2911通用权限管理设计 之 ... -
分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
2016-01-26 13:22 1351分享一个基于ligerui的系统应用案例ligerRM V2 ... -
通用权限管理设计 之 数据权限
2016-01-26 13:20 684通用权限管理设计 之 数据权限 阅读目录 前 ... -
使用RSA进行信息加密解密的WebService示例
2015-12-28 10:30 820按:以下文字涉及RS ... -
防止网站恶意刷新
2015-10-22 10:55 664import java.io.IOExcept ... -
单点登录
2015-10-19 14:24 712Cas自定义登录页面Ajax实现 博客分类: ... -
session如何在http和https之间同步
2015-09-14 09:25 2216首先说下 http>https>http ... -
基于 Quartz 开发企业级任务调度应用
2015-08-17 11:17 774Quartz 是 OpenSy ... -
Java加密技术(十二)——*.PFX(*.p12)&个人信息交换文件
2015-08-17 11:17 848今天来点实际工 ... -
Java加密技术(十)——单向认证
2015-08-13 10:13 639在Java 加密技术(九)中,我们使 ... -
Java加密技术(九)——初探SSL
2015-08-13 10:12 800在Java加密技术(八)中,我们模拟 ... -
Java加密技术(八)——数字证书
2015-08-13 10:12 845本篇的主要内容为Java证书体系的实 ... -
Java加密技术(七)——非对称加密算法最高级ECC
2015-08-13 10:12 918ECC ECC-Elliptic Curv ... -
Java加密技术(六)——数字签名算法DSA
2015-08-13 10:11 1002接下来我们介绍DSA数字签名,非对称 ... -
Java加密技术(五)——非对称加密算法的由来DH
2015-08-12 16:13 825接下来我们 ... -
Java加密技术(四)——非对称加密算法RSA
2015-08-12 16:11 1044接下来我们介绍典型的非对称加密算法—— ... -
Java加密技术(三)——PBE算法
2015-08-12 16:10 895除了DES,我们还知道有DESede( ... -
Java加密技术(二)——对称加密算法DES&AES
2015-08-12 16:09 675接下来我们介绍对称加密算法,最常用的莫 ...
相关推荐
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"<title>XXXX</title>"中的文字XXXX,用正则表达式获取指定...
java代码,从image标签中正则匹配取出src标签的内容,java代码,从image标签中正则匹配取出src标签的内容
正则表达式善于处理文本,对匹配、搜索和替换等操作都有意想不到的作用。正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率。 正则表达式应用于程序设计语言中,...
java正则表达式.docx 如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符...
JAVA正则表达式实例教程.pdf 1、正则表达式的知识要点 1、正则表达式是什么? 正则表达式是一种可以用于模式匹配和替换的强有力的工具。 2、正则表达式的优点? 更少的代码,更高的效率。 3、正则表达式如何使用? ...
大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串。正则...
主要介绍了Java正则表达式的匹配、替换、查找和切割等操作,对于正则表达式的匹配、替换大家已经不陌生了吧
正则表达式主要配合以下方法使用 匹配 string.matches() 分割 string.split() 替换 string.replaceAll()
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
正则表达式是什么?用我的理解就是一个表达式。用来匹配,替换,判断字符串,之前业务就出现过判断返回值是否为邮箱。
本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。 本书自第1 版开始着力于教会读者“以正则表达式来思考”,来让读者...
主要给大家介绍了关于Java正则表达式的替换和分组功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
正则表达式是一种可以用于模式匹配和替换的强有力的工具。 2、正则表达式的优点? 更少的代码,更高的效率。 3、正则表达式如何使用? 在下面的教程中我们将学习到正则表达式的用法。 4、正则表达式的缺点? 需要花...
上篇文章给大家介绍了Java正则表达式匹配,替换,查找,切割的方法,接下来,通过本篇文章给大家介绍js 正则匹配、查找与替换,具体内容请看下文。 js 正则匹配、查找与替换 RegExp对象RegExp对象表示正则表达式,它...
使用正则表达式匹配文本... 38 向更实用的程序前进... 40 成功匹配的副作用... 40 错综复杂的正则表达式... 43 暂停片刻... 49 使用正则表达式修改文本... 50 例子:公函生成程序... 50 举例:修整股票价格....
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。 可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端...
上面的Pattern对象可以重复使用多次,如果某个正则表达式仅需一次使用,可直接使用Pattern类的静态matches方法,此方法自动把指定字符串编译成匿名的Pattern对象,并执行匹配。 Boolean b=Pattern.matches(“a*b”,...