java:匹配网址的正则表达式
匹配网址正则表达式
- 相关词语
- 相关说明
- 源码
- 运行结果
- 补充相关元字符信息
- 正则表达式中的元字符(摘自书本)
- 限定修饰符(摘自书本)
相关词语
regex(正则表达式) matches(匹配;比赛)
相关说明
正则表达式,可以用几个字符串分别和一个特定格式的字符串做比较,看哪几个特定格式那一类型的,哪几个不是特定格式那一类型的。邮箱的格式为 T@A.com ,对于邮箱可以表示为:\w+@\w(\.\w{2,3})*\.\w{2,3} 。邮箱的格式在书本上的例题有了,我另自己弄一弄网址那一类型的正则表达式。
源码
/*所想:定义网址的正则表达式使用正则表达式,表示将一些字符串和指定格式的字符串作比较,看这些
字符串格式是否与指定格式字符串一样。先看几个字符串知否属于网址那一类型。
网站的格式:www.A.a a一般长度为2位或三位(cn和com一类) A可以有多次,至少一次
关键词:regex(正则表达式) matches(匹配;比赛)
先收集几个网址分析:https://blog.csdn.nethttps://www.hao123.comhttps://image.baidu.comhttp://www.boc.cnhttp://www.ccb.comhttp://www.bhu.edu.cnhttps://www.qq.comhttp://www.sgcc.com.cnhttp://gdga.gd.gov.cn/https://www.163.com分析: http是固定有的s会出现零次或一次,则表达为: (s)?//:也是固定的像www这一类一般有三个字符,这里算三次以上,表达式: \\w{3,}www后面有相关的名称,如百度,字符长度至少为一次,然后整体会来多次: (\\.\\w+)+最后结尾如cn、com、net,长度为2到3,同时至少会来一次: (\\.\\w{2,}+完毕补充:\\w{2} 如:gg \\w{4} 如:smvp
*/class Demo{public static void main(String[] args){String str0="http(s)?://\\w{3,}(\\.\\w+)+(\\.\\w{2,3})+";//正则表达式格式String str1="https://blog.csdn.net";String str2="http://www.bhu.edu.cn";String str3="htt.www.bhu.edu.cn";if(str1.matches(str0)){System.out.println(str1+"是一个合法的网址");}elseSystem.out.println(str1+"不是一个合法的网址");if(str2.matches(str0)){System.out.println(str2+"是一个合法的网址");}elseSystem.out.println(str2+"不是一个合法的网址");if(str3.matches(str0)){System.out.println(str3+"是一个合法的网址");}elseSystem.out.println(str3+"不是一个合法的网址");}
}
运行结果
补充相关元字符信息
正则表达式中的元字符(摘自书本)
元字符 | 正则表达式的写法 | 意义 |
---|---|---|
. | . | 代表任意一个字符 |
\d | \d | 代表0~9的任意一个数字 |
\D | \D | 代表一个非数字字符 |
\s | \s | 代表空白字符,如’\t’、‘\n’ |
\S | \S | 代表非空白字符 |
\w | \w | 代表可用作标识符的字符,但不包括“$” |
\W | \W | 代表不可用于标识的字符 |
\p{Lower} | \p{Lower} | 代表小写字母a~z |
\p{Upper} | \p{Upper} | 代表大写字母A~Z |
\p{ASCII} | \P{ASCII} | ASCII字符 |
\p{Alpha} | \p{Alpha} | 字母字符 |
\p{Digit} | \p{Digit} | 十进制数字,即0~9 |
\p{Alnum} | \p{Alnum} | 数字或字母字符 |
\p{Punct} | \p{Punct} | 标点符号:!”#$%^&*()等 |
\p{Graph} | \{Graph} | 可见字符:[\p{Alnum}\p{Punct}] |
\p{Print} | \{Print} | 可打印字符:[\p{Graph}\x20] |
\p{Blank} | \{Blank} | 空格或制表符:[\t] |
\p{Cntrl} | \{Cntrl} | 控制字符:[\x00-\x1F\x7F] |
限定修饰符(摘自书本)
限定修饰符 | 意义 | 示例 |
---|---|---|
? | 0次或1次 | A? |
* | 0次或多次 | A* |
+ | 一次或多次 | A+ |
{n} | 正好出现n次 | A{2} |
{n,} | 至少出现n次 | A{3,} |
{n,m} | 出现n次到m次 | A{3,8} |
java:匹配网址的正则表达式相关推荐
- java 匹配url的正则表达式_java匹配url的正则表达式
展开全部 给你个正则表达式的资料,自己慢慢研究,授你以渔: 一.正则表达式基础知识 我们先从简单的开始.假设你62616964757a686964616fe78988e69d8331333264623 ...
- java正则支持中文码,Java匹配中文的正则表达式
[\u4E00-\u9FA5]汉字﹐[\uFE30-\uFFA0]全角字符 [\u4E00-\u9FA5]汉字﹐[\uFE30-\uFFA0]全角字符所以说 ,Java的正则表达式是可以匹配中文字符的 ...
- java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字
在java中怎么利用正则表达式匹配数字 发布时间:2020-12-03 17:47:12 来源:亿速云 阅读:58 作者:Leah 在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介 ...
- python正则表达式匹配网址中的域名_正则表达式匹配域名、网址、url
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母.标号中除连字符(-)外不能使用其他的标点符号.级别最低的域名写在最左边,而级别最高的域名写在最右边.由多 ...
- java 正则 空格_java 正则匹配空格字符串 正则表达式截取字符串
java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...
- Java匹配正则表达式大全
java匹配字符串表达式在我们数据处理方面是及其重要的,现在就把我这几天数据处理比较常用的向大家介绍一下,常规的一些匹配方式就不介绍了,我们来学习一些特殊的 一.我们先举个例子来看看Java匹配正则表 ...
- php正则 网址,PHP正则表达式如何匹配任意类型网址
PHP正则表达式匹配任意类型网址的方法:首先打开相应的代码文件:然后修改匹配网址的正则为"^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\..]) ...
- java正则匹配括号_java正则表达式方括号匹配的认识
在java正则表达式的学习中,方括号匹配是一个重点,在这里为了让学员们对方括号匹配这个知识点有更深刻的认识和了解,广州达内的老师将为你进行一次深刻的讲解. 在正则表达式中,[]是对指定的元素进行匹配, ...
- java正则匹配换行_正则表达式怎么匹配换行符
正则表达式匹配文本中包含换行符等空白字符如何匹配 使用[\s\S]匹配任意字符,而不是使用"." 使用s单行修饰模式,例:$pattern = '#abc.*?def#s'; // ...
最新文章
- 八个层面比较 Java 8, RxJava, Reactor
- Linux下用来获取各种系统信息的C++类
- Thrift入门及Java实例演示
- Docker Swarm建立服务器集群
- 嵌入式Linux要学哪些东西?你真的造吗?
- 大数据可视化的好处有哪些
- 排序算法入门之堆排序
- 架构 简述负载均衡和CDN技术
- 【基于obs插件-5】-屏幕截图
- 【数据结构】之排序算法综合篇
- 驾驶习惯也能识人?基于时空孪生神经网络的轨迹识别
- Stream流的方式遍历map,筛选数据
- java中画幅相机推荐_中画幅数码相机推荐
- C#对接银行接口总结
- KVM+OVS环境虚机修改网卡为ovs网桥后启动报错
- 集成学习算法的思想、通过集成学习提高整体泛化能力的前提条件、如何得到独立的分类器Bagging、Boosting、Stacking算法
- Salary Inequity
- 租车出行如何避免踩坑,区块链技术解决信任问题
- 功能点算法及在软件测试中的应用Part3
- RevitAPI之标高和轴网(Level/Grid)