最代码官方
2013-11-21 11:40:49
证
匹配文本中的网址java正则表达式
公司有个业务需要匹配文本中的网址,度娘,谷哥了半天经常看到有对html中获取超链接的正则,只要匹配<a href=['"]?(.*?)['"]?即可,但如果是普通文本类型的则比较费事些,分享下最后的表达式:
import java.util.regex.Matcher; import java.util.regex.Pattern; public class URLMatcher { public static void main(String[] args) { Pattern pattern = Pattern .compile("(http://|ftp://|https://|www){0,1}[^\u4e00-\u9fa5\\s]*?\\.(com|net|cn|me|tw|fr)[^\u4e00-\u9fa5\\s]*"); // 空格结束 Matcher matcher = pattern .matcher("随碟附送下载地址http://www.xxx.com/sdfsdf.htm?aaaa=%ee%sss ?sdfsyyy空格结束"); while (matcher.find()) { System.out.println(matcher.group(0)); } // 中文结束 matcher = pattern .matcher("随碟附送下载地址http://www.xxx.com/sdfsdf.htm?aaaa=%ee%sss网址结束"); while (matcher.find()) { System.out.println(matcher.group(0)); } // 没有http://开头 matcher = pattern .matcher("随碟附送下载地址www.xxx.com/sdfsdf.htm?aaaa=%ee%sss网址结束"); while (matcher.find()) { System.out.println(matcher.group(0)); } // net域名 matcher = pattern .matcher("随碟附送下载地址www.xxx.net/sdfsdf.htm?aaaa=%ee%sss网址结束"); while (matcher.find()) { System.out.println(matcher.group(0)); } // xxx域名 matcher = pattern .matcher("随碟附送下载地址www.xxx.xxx/sdfsdf.htm?aaaa=%ee%sss网址结束"); while (matcher.find()) { System.out.println(matcher.group(0)); } // yyyy域名匹配不到 System.out.println("匹配不到yyyy域名"); matcher = pattern .matcher("随碟附送下载地址www.xxx.yyyy/sdfsdf.html?aaaa=%ee%sss网址结束"); while (matcher.find()) { System.out.println(matcher.group(0)); } // 没有http://www. matcher = pattern .matcher("随碟附送下载地址xxx.com/sdfsdf.html?aaaa=%ee%sss网址结束"); while (matcher.find()) { System.out.println(matcher.group(0)); } } }
结果是死的,但思路是活的,大家可以根据自己的业务随意改写表达式。
有图有真相:
猜你喜欢
- Java常用正则表达式验证工具类RegexUtils.java
- JS正则表达式判断来路搜索引擎指定跳转网址
- java HTML字符串正则表达式使用工具类
- java验证用户名长度的正则表达式使用
- java正则表达式语法详解及其使用代码实例
- java正则表达式判断手机号码,支持多个手机号验证
- java利用百度短网址api实现URL长短互换工具类分享
- java通过QRCode生成图片网址二维码实例
- 正则表达式的JS验证
- 使用springboot+mybatis+bootstrap写的短网址生成项目
- python正则表达式基础实例教程
- springboot+layui简单易懂的短网址服务搭建,提供源码
请下载代码后再发表评论
相关代码
最近下载
yyg20101 LV1
2019年12月18日
luohaipeng LV23
2019年11月19日
大度嘟嘟 LV2
2019年9月24日
silenceS LV4
2018年10月5日
幽幻梦之韩霜 LV10
2018年9月4日
vijayChen LV16
2018年7月3日
sunboris514 LV8
2018年1月4日
aihui523 LV34
2017年8月22日
akaklk LV1
2017年5月25日
lj251477124 LV1
2017年5月25日
最近浏览
微信网友_6411724627349504 LV3
2023年4月3日
crosa_Don LV18
2022年7月22日
22395797 LV3
2021年3月31日
Zeorwyc LV8
2021年3月20日
dongzhan LV12
2020年12月8日
said_what LV3
2020年9月24日
1113783182 LV1
2020年7月9日
1210306317
2020年5月11日
暂无贡献等级
wei112233 LV15
2020年2月2日
yyg20101 LV1
2019年12月18日