
Java常用正则表达式大全
下载需积分: 9 | 36KB |
更新于2024-09-16
| 51 浏览量 | 5 评论 | 举报
收藏
Java 正则表达式收集
Java 正则表达式是一种强大的字符串匹配工具,它可以用来匹配、验证和提取字符串中特定的模式。在 Java 中,正则表达式通常用来验证用户输入、提取字符串中的特定信息、匹配字符串中的模式等。
1. 非负整数(正整数+0)
"^\\d+$"
这个正则表达式用来匹配非负整数,即正整数和 0。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。\\d+ 表示匹配一个或多个数字字符。
2. 正整数
"^([0-9]*[1-9][0-9]*)$"
这个正则表达式用来匹配正整数。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。[0-9]* 表示匹配零个或多个数字字符,[1-9] 表示匹配一个数字字符,但不能是 0,[0-9]* 表示匹配零个或多个数字字符。
3. 非正整数(负整数+0)
"^((-\\d+)|(0+))$"
这个正则表达式用来匹配非正整数,即负整数和 0。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。(-\\d+)|(0+) 表示匹配负整数或 0。
4. 负整数
"^-?[0-9]*[1-9][0-9]*$"
这个正则表达式用来匹配负整数。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。-? 表示匹配可选的负号,[0-9]* 表示匹配零个或多个数字字符,[1-9] 表示匹配一个数字字符,但不能是 0,[0-9]* 表示匹配零个或多个数字字符。
5. 整数
"^-?\\d+$"
这个正则表达式用来匹配整数,即正整数、负整数和 0。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。-? 表示匹配可选的负号,\\d+ 表示匹配一个或多个数字字符。
6. 非负浮点数(正浮点数+0)
"^\\d+(\\.\\d+)?$"
这个正则表达式用来匹配非负浮点数,即正浮点数和 0。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。\\d+ 表示匹配一个或多个数字字符,(\\.\\d+)? 表示匹配可选的小数部分。
7. 正浮点数
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
这个正则表达式用来匹配正浮点数。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*) 表示匹配正浮点数。
8. 非正浮点数(负浮点数+0)
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"
这个正则表达式用来匹配非正浮点数,即负浮点数和 0。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。(-\\d+(\\.\\d+)?)|(0+(\\.0+)?) 表示匹配负浮点数或 0。
9. 负浮点数
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
这个正则表达式用来匹配负浮点数。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))) 表示匹配负浮点数。
10. 浮点数
"^(-?\\d+)(\\.\\d+)?$"
这个正则表达式用来匹配浮点数,即正浮点数、负浮点数和 0。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。-? 表示匹配可选的负号,\\d+ 表示匹配一个或多个数字字符,(\\.\\d+)? 表示匹配可选的小数部分。
11. 由 26 个英文字母组成的字符串
"^[A-Za-z]+$"
这个正则表达式用来匹配由 26 个英文字母组成的字符串。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。[A-Za-z]+ 表示匹配一个或多个英文字母。
12. 由 26 个英文字母的大写组成的字符串
"^[A-Z]+$"
这个正则表达式用来匹配由 26 个英文字母的大写组成的字符串。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。[A-Z]+ 表示匹配一个或多个大写英文字母。
13. 由 26 个英文字母的小写组成的字符串
"^[a-z]+$"
这个正则表达式用来匹配由 26 个英文字母的小写组成的字符串。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。[a-z]+ 表示匹配一个或多个小写英文字母。
14. 由数字和 26 个英文字母组成的字符串
"^[A-Za-z0-9]+$"
这个正则表达式用来匹配由数字和 26 个英文字母组成的字符串。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。[A-Za-z0-9]+ 表示匹配一个或多个数字或英文字母。
15. 由数字、26 个英文字母或者下划线组成的字符串
"^\\w+$"
这个正则表达式用来匹配由数字、26 个英文字母或者下划线组成的字符串。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。\\w+ 表示匹配一个或多个数字、英文字母或者下划线。
16. email 地址
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"
这个正则表达式用来匹配 email 地址。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。[\\w-]+(\\.[\\w-]+)* 表示匹配域名前缀,@[\\w-]+(\\.[\\w-]+)+ 表示匹配域名和域名后缀。
17. url
"^[a-zA-z]+://(\\w+(-\\w+)*)*(\\.(\\w+(-\\w+)*))*(\\?(\\S*)?$"
这个正则表达式用来匹配 url。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。[a-zA-z]+:// 表示匹配协议,(\\w+(-\\w+)*)* 表示匹配域名前缀,(\.(\\w+(-\\w+)*))* 表示匹配域名和域名后缀,(\\?(\\S*)? 表示匹配查询字符串。
18. 年-月-日
"^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$"
这个正则表达式用来匹配年-月-日日期格式。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。(d{2}|d{4}) 表示匹配年份,-((0([1-9]{1}))|(1[1|2])) 表示匹配月份,-(([0-2]([1-9]{1}))|(3[0|1])) 表示匹配日。
19. 月/日/年
"^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$"
这个正则表达式用来匹配月/日/年日期格式。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。((0([1-9]{1}))|(1[1|2])) 表示匹配月份,/(([0-2]([1-9]{1}))|(3[0|1])) 表示匹配日份,/(d{2}|d{4}) 表示匹配年份。
20. Email
"^([\\w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})|(([\\w-]+)\\.))+([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"
这个正则表达式用来匹配 Email 地址。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。([\\w-.]+) 表示匹配用户名,@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})|(([\\w-]+)\\.))+ 表示匹配域名和域名后缀,([a-zA-Z]{2,4}|[0-9]{1,3})(]?) 表示匹配域名后缀。
21. 日期和时间
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})"
这个正则表达式用来匹配日期和时间格式。它通过 ^ 和 $ 限定符来确保匹配整个字符串,而不是字符串的一部分。(d+-)? 表示匹配可选的日期前缀,(d{4}-?d{7}|d{3}-?d{8}|^d{7,8}) 表示匹配日期和时间。
相关推荐



















资源评论

晕过前方
2025.05.08
文档整理了大量Java中常用的正则表达式,便于快速查找。

罗小熙
2025.04.20
适合不同层次Java开发者,便于提升代码处理效率。

会飞的黄油
2025.04.09
实用的Java正则表达式参考资料,方便开发者查询和应用。🐬

空城大大叔
2025.02.03
文档内容丰富,适合做为工具书在手边随时参考。

林书尼
2025.01.18
包含验证、替换等多种场景下的正则表达式使用示例。

jizongwei_19840111
- 粉丝: 1
最新资源
- JavaScript实现SPARQL处理:示例程序集
- WDFuzzer:Windows应用覆盖导向模糊器与内存检测功能
- AppHarbor平台快速搭建Nuget服务器指南
- 区块链技术实现的视频扑克游戏
- Vigil Local守护程序:防火墙后主机状态监控与报告
- ML峰会-与Innovacion 2020及IEM加尔各答微软学生合作
- AnimeVostORGCustomPlayer:优化夜间观看体验的动漫播放器
- Intellij IDEA插件plantuml2ddl实现PlantUML与MySQL DDL互转
- 掌握SAP脚本存储与共享:高效管理之道
- 在Oracle Linux上用Ansible自动化安装Oracle 19c数据库
- Laravel与Xero OAuth2集成教程
- pyarmor-webui: 强化Python脚本安全的Web界面工具
- OpenWrt环境下的RedSocks2实现指南
- UCD论文“自行车的人为控制”:Matlab代码分行技术分享
- 使用Docker快速搭建Laravel开发环境
- InDeepShip:纳维斯岛相册船用数字收银机DRS功能与安装指南
- OmniAuth-YahooJP策略教程:实现Yahoo! JAPAN认证
- HypeSquad房屋切换插件:命令行更改房屋指南
- YoutubePlayerEX: 实现Youtube视频作为网页叠加层播放
- DHIS 2 GIS Web应用开发与管理
- MVCRandomAnswerGenerator: Docker部署ASP.NET 4.7 Windows容器应用程序
- nssh工具:简化SSH配置管理与连接操作
- Drupal模块链接SecondLife/OpenSimulator与Drupal平台
- 快速搭建Kubernetes环境的iptables代理方法