- 浏览: 2259879 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
关键字:正则表达式匹配聊天中所有url连接地址-高亮显示
需要说明:聊天时,发送内容中包含的连接地址进行高亮显示
2、正则表达式:
一个能识别域名url的表达式:
wangshang2.bds=((http[s]{0,1}|ftp|rtsp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)
一个能识别域名和ip等url的表达式(不带http等前缀的纯ip不能识别):
wangshang3.bds=((http[s]{0,1}|ftp|rtsp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-z0-9]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)
一个能识别域名和ip等url的表达式(可识别不带http等前缀的纯ip)
wanghui.bds=((https|http|ftp|rtsp|mms):\\/\\/)[^\\s]+([a-zA-z0-9])|(([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-]*)?|((http|ftp|https)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+[\\.|\\/]([a-zA-Z]{1,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)
一个能识别域名和ip等url表达式+域名时后缀限制(该表达式可能存在编码问题,仅供参考,用起来报错 没找到是那个字符的原因)
wangshang.bds =((((ftp:|https:|http:)([\Q/\\E])*)|())(((%[0-9a-fA-F][0-9a-fA-F])|([a-zA-Z0-9])|([\Q$-_.+!*'(),;?&=\E]))+(:((%[0-9a-fA-F][0-9a-fA-F])|([a-zA-Z0-9])|([\Q$-_.+!*'(),;?&=\E]))*)?@)?(((((([a-zA-Z0-9]){1}([a-zA-Z0-9\-])*([a-zA-Z0-9]{1}))|([a-zA-Z0-9]))\.)+(biz|com|edu|gov|info|int|mil|name|net|org|pro|aero|cat|coop|jobs|museum|travel|arpa|root|mobi|post|tel|asia|geo|kid|mail|sco|web|xxx|nato|example|invalid|test|bitnet|csnet|onion|uucp|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw))|([0-9]{1,3}(\.[0-9]{1,3}){3}))(\:([0-9]+))?(([\Q/\\E])+((((%[0-9a-fA-F][0-9a-fA-F])|([a-zA-Z0-9])|([\Q$-_.+\!*'(),;:@&=\E]))*)(([\Q/\\E])*((%[0-9a-fA-F]{2})|([a-zA-Z0-9])|([\Q$-_.+\!*'(),;:@&=\E]))*)*)(\?((%[0-9a-fA-F]{2})|([a-zA-Z0-9])|([\Q$-_.+!*'(),;:@&=<>#"{}[] ^`~|\/\E]))*)*)*)
3、Java代码效果
public class TestDomain {
public static void main(String[] args) {
String strContent="请到以下地址查询:查询地址:充值地址:https://pay.sdo.com/Index.aspx?type=card尊敬的用户: 您好,该卡帐号和密码是正确的,请到以下https://pay.sdo.com/Index.aspx?type=card 地址查询:查询地址:充值地址:https://pay.sdo.com/Index.aspx?type=card "
+" 192.168.1.888"
+" 192.168.10.9"
+" www.zs.com "
+" ftp://192.168.10.8"
+" www.aa.bb"
+" rtsp://192.168.10.8"
+" http://192.168.1.99"
+" http://pay.sdo.com/Index.aspx?type=card"
+" www.ff.com";
System.out.println(strContent);
String regex = getS("wangshang3.bds");
String regex2 = "(http:|https:)//[^[A-Za-z0-9\\._\\?%&+\\-=/#]]*";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(strContent);
StringBuffer result = new StringBuffer();
while (matcher.find()) {
String urlStr=matcher.group();
StringBuffer replace = new StringBuffer();
replace.append("<a href=\"").append(urlStr);
replace.append("\" target=\"_blank\">"+urlStr+"</a>");
matcher.appendReplacement(result, replace.toString());
System.out.println(urlStr);
}
matcher.appendTail(result);
System.out.println(result);
}
private static String getS(String name){
ResourceBundle resource = ResourceBundle.getBundle("matcher");
String val = resource.getString(name);
return val;
}
}
需要说明:聊天时,发送内容中包含的连接地址进行高亮显示
2、正则表达式:
一个能识别域名url的表达式:
wangshang2.bds=((http[s]{0,1}|ftp|rtsp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)
一个能识别域名和ip等url的表达式(不带http等前缀的纯ip不能识别):
wangshang3.bds=((http[s]{0,1}|ftp|rtsp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-z0-9]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)
一个能识别域名和ip等url的表达式(可识别不带http等前缀的纯ip)
wanghui.bds=((https|http|ftp|rtsp|mms):\\/\\/)[^\\s]+([a-zA-z0-9])|(([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\&%_\./-~-]*)?|((http|ftp|https)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+[\\.|\\/]([a-zA-Z]{1,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)
一个能识别域名和ip等url表达式+域名时后缀限制(该表达式可能存在编码问题,仅供参考,用起来报错 没找到是那个字符的原因)
wangshang.bds =((((ftp:|https:|http:)([\Q/\\E])*)|())(((%[0-9a-fA-F][0-9a-fA-F])|([a-zA-Z0-9])|([\Q$-_.+!*'(),;?&=\E]))+(:((%[0-9a-fA-F][0-9a-fA-F])|([a-zA-Z0-9])|([\Q$-_.+!*'(),;?&=\E]))*)?@)?(((((([a-zA-Z0-9]){1}([a-zA-Z0-9\-])*([a-zA-Z0-9]{1}))|([a-zA-Z0-9]))\.)+(biz|com|edu|gov|info|int|mil|name|net|org|pro|aero|cat|coop|jobs|museum|travel|arpa|root|mobi|post|tel|asia|geo|kid|mail|sco|web|xxx|nato|example|invalid|test|bitnet|csnet|onion|uucp|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw))|([0-9]{1,3}(\.[0-9]{1,3}){3}))(\:([0-9]+))?(([\Q/\\E])+((((%[0-9a-fA-F][0-9a-fA-F])|([a-zA-Z0-9])|([\Q$-_.+\!*'(),;:@&=\E]))*)(([\Q/\\E])*((%[0-9a-fA-F]{2})|([a-zA-Z0-9])|([\Q$-_.+\!*'(),;:@&=\E]))*)*)(\?((%[0-9a-fA-F]{2})|([a-zA-Z0-9])|([\Q$-_.+!*'(),;:@&=<>#"{}[] ^`~|\/\E]))*)*)*)
3、Java代码效果
public class TestDomain {
public static void main(String[] args) {
String strContent="请到以下地址查询:查询地址:充值地址:https://pay.sdo.com/Index.aspx?type=card尊敬的用户: 您好,该卡帐号和密码是正确的,请到以下https://pay.sdo.com/Index.aspx?type=card 地址查询:查询地址:充值地址:https://pay.sdo.com/Index.aspx?type=card "
+" 192.168.1.888"
+" 192.168.10.9"
+" www.zs.com "
+" ftp://192.168.10.8"
+" www.aa.bb"
+" rtsp://192.168.10.8"
+" http://192.168.1.99"
+" http://pay.sdo.com/Index.aspx?type=card"
+" www.ff.com";
System.out.println(strContent);
String regex = getS("wangshang3.bds");
String regex2 = "(http:|https:)//[^[A-Za-z0-9\\._\\?%&+\\-=/#]]*";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(strContent);
StringBuffer result = new StringBuffer();
while (matcher.find()) {
String urlStr=matcher.group();
StringBuffer replace = new StringBuffer();
replace.append("<a href=\"").append(urlStr);
replace.append("\" target=\"_blank\">"+urlStr+"</a>");
matcher.appendReplacement(result, replace.toString());
System.out.println(urlStr);
}
matcher.appendTail(result);
System.out.println(result);
}
private static String getS(String name){
ResourceBundle resource = ResourceBundle.getBundle("matcher");
String val = resource.getString(name);
return val;
}
}
发表评论
-
各大巨头电商提供的IP库API接口-新浪、搜狐、阿里...
2015-04-22 13:18 15907关键字:各大巨头电商提供的IP库API接口-新浪、搜狐、阿里. ... -
treeTable
2015-03-25 00:36 764jqgrid中文官网:http://blog.mn886.ne ... -
我的定时器
2014-01-12 19:24 792关键字:我的定时器 说明:请不要试图下载使用,此附件没有任 ... -
Highcharts漂亮大气的图表(纯JS)
2013-12-14 12:09 5976关键字:Highcharts漂亮大气的图表(纯JS) ... -
智能搜索提示功能
2013-11-23 20:12 1232关键字:智能搜索提示功能 推荐一:http://site518 ... -
jQuery 工具提示插件 PoshyTip
2013-08-03 00:48 36032关键字:jQuery 工具提示插件 PoshyTip 在 ... -
js打开浏览器文件下载框
2013-07-15 13:49 21086关键字:js打开浏览器文件下载框 说明:此方法兼容IE、火 ... -
常有前端验证JS
2013-02-03 15:12 1768关键字:常有前端验证JS 附件是前端界面常用验证工具 ... -
jquery操作iframe中的js函数
2013-01-06 10:39 13036关键字:jquery操作iframe中的js函数 1 ... -
网页特效、各功能大全
2012-12-06 12:34 909关键字:网页特效、各功能大全 http://www.c ... -
js前端MD5加密
2012-08-13 10:30 2552关键字:js前端MD5加密 大家好:附件是js使用md5算 ... -
js操作cookie(增删改查)
2012-08-09 10:50 2046关键字:js操作cookie(增删改查) 附件是js操作c ... -
QQ qq
2012-07-19 13:34 2983关键字:QQ空间无权限访问方式: http://www. ... -
jQuery监听事件经典例子
2011-10-17 00:27 3085关键字:jQuery监听事件经典例子 js代码: === ... -
ajax jQuery 实现文件上传
2011-09-21 22:33 16881.上传jsp。 <table cellpadd ... -
jQuery ajax libs
2011-08-31 10:34 852附件是 jQuery ajax 相关jar包。 -
IE中调试JS的一款很好的工具
2011-05-02 18:52 1219附件是 IE中调试JS的一款很好用的工具,欢迎下载使用。 ... -
JS日历控件
2011-03-07 14:09 1359附件是现成的JS日历控件,使用起来相当简单,有例子去看看吧,喜 ... -
页面提示
2011-01-26 13:30 930附件是:页面提示相关例子,请下载使用。。 -
无限极菜单之全自动化配置平台(待优化中..请等待消息)
2011-01-10 21:43 1091关键字:无限极菜单之全自动化配置平台 使用方法: 应用服务器 ...
相关推荐
1. 常用正则表达式库:工具内置了一套常用正则表达式模式,覆盖了常见的文本匹配需求,如邮箱地址验证、电话号码检查、URL检测等。这使得用户无需从头开始构建复杂的正则表达式,提高了工作效率。 2. 实时编辑与...
- 这些工具可能还具备高亮显示匹配部分、解释匹配规则等功能,有助于理解正则表达式的匹配过程。 4. 使用验证工具的步骤: - 输入正则表达式:在工具的相应区域中输入你的正则表达式。 - 提供测试文本:输入你想...
- **示例**:在文本“Jimmy is a junior developer and jimmy lives in xi’an.”中使用`.`作为正则表达式,可以匹配到每一个字符(除了换行符)。 3. **匹配“.”元字符** - **概念**:当需要匹配实际的点号`.`...
- **功能**:测试器允许输入正则表达式和测试字符串,实时显示匹配结果,帮助用户调试和验证正则表达式。 - **特性**:通常包括高亮匹配项、替换功能、多语言支持、多种正则引擎选择(如Perl、ECMAScript等)。 -...
3. 匹配结果展示:工具会高亮显示匹配的部分,或列出所有匹配的子串。 4. 预编译与执行:工具会解析正则表达式,然后在给定的文本上执行匹配操作。 5. 兼容性检查:某些工具会指出所用正则表达式语法在不同编程语言...
正则表达式(Regular Expression,简称regex)是编程领域中的一种强大的文本处理工具,它能够高效地进行字符串匹配、查找、替换以及提取等操作。在IT行业中,掌握正则表达式是提高工作效率的关键技能之一,尤其对于...
正则表达式(Regular Expression,简称Regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在编程领域,熟练掌握正则表达式能极大提高工作效率。本文将介绍一个名为"RegexTester...
- 输入待验证的正则表达式,例如要验证匹配URL的表达式。 - 在测试区域输入各种可能的URL,观察是否正确匹配。 - 利用验证器的反馈调整正则表达式,直到达到期望的匹配效果。 5. "正则狗"标签可能是指这个工具在...
7. **预定义模式库**:包含了大量预定义的正则表达式模式,如电子邮件地址、URL、日期时间格式等,用户可以直接应用或作为参考。 在实际使用中,通过RegexBuddy的`.exe`文件,用户可以直接在本地运行软件,无需安装...
例如,通过反复试验,用户可以学会如何用正则表达式匹配电子邮件地址、URL、日期时间格式,或是从大量文本中提取特定信息等。 总之,正则表达式测试工具是学习和提高正则技能的得力助手,它将抽象的正则表达式与...
文本处理方面,正则表达式可以用来高亮显示指定文字,删除标签,替换变量,替换文本中的URL为链接,或者从HTML代码段删除指定标签及其内容。 对HTML源代码的处理,如给源代码中的标签或属性添加双引号,给table添加...
1. **实时匹配**:用户输入正则表达式后,工具会立即展示该表达式对给定文本的匹配情况,通过高亮显示匹配部分,使用户直观地看到结果。 2. **错误提示**:如果正则表达式存在语法错误,工具会给出相应的错误提示,...
- 高亮显示:匹配成功的部分会被高亮,便于观察匹配情况。 - 替换功能:除了测试匹配,还支持替换操作,方便进行字符串的查找替换。 - 源码查看:附带源码,用户可以学习和自定义工具,进一步理解正则表达式的...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配字符串模式,广泛应用于数据验证、搜索和替换等操作。在HTML编写过程中,正则表达式可以帮助我们高效地进行数据提取、标签验证...
测试器通常会提供错误提示和匹配的高亮显示,帮助开发者调试和优化正则表达式。 五、应用场景 1. 数据验证:如邮箱地址、电话号码、身份证号等格式的验证。 2. 文本提取:从大量文本中提取特定格式的信息,如日期...
2. **预置正则**:描述中提到工具内置了一些常用正则表达式,这些预设模式覆盖了常见的匹配需求,例如邮箱地址、电话号码、URL、日期时间等,用户可以直接使用或作为参考。 3. **匹配功能**:工具会高亮显示匹配的...
正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换、文本提取等场景。对于初学者来说,正则表达式可能会显得复杂且难以理解,但借助专门的分析工具,...
正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。在编程语言中,正则表达式是一种强大的工具,可以用来查找、提取、替换或者验证字符串...
1. 输入区域:用户可以在这里编写正则表达式,软件会实时显示语法高亮和错误提示。 2. 测试文本区域:用户可以输入或粘贴要匹配的文本,以便观察正则表达式与文本的匹配情况。 3. 匹配结果展示:软件会突出显示匹配...