Java 正则表达式大全
需积分: 3 60 浏览量
更新于2024-09-12
收藏 43KB DOC 举报
Java中的正则表达式是处理字符串的强大工具,用于验证输入数据、提取信息或进行文本操作。以下是对给定正则表达式的详细解释:
1. `^\d+$` - 匹配非负整数(正整数加0)。`\d`代表数字字符(等同于[0-9]),`^`表示开始,`$`表示结束,`+`表示至少一次,所以该表达式只匹配由一个或多个数字组成的字符串。
2. `^[0-9]*[1-9][0-9]*$` - 匹配正整数。这个正则表达式首先允许前导零,然后确保至少有一个非零数字,接着可以跟任意数量的其他数字。
3. `^((-\d+)?(0+))$` - 匹配非正整数(负整数加0)。这里用`(-\d+)?`来匹配负数,用`(0+)?`来匹配零,两者都可以为空。
4. `^-[0-9]*[1-9][0-9]*$` - 匹配负整数。与正整数类似,但以负号开始。
5. `^-?\d+$` - 匹配整数。`-?`表示负号可有可无,`\d+`表示一个或多个数字。
6. `^\d+(\.\d+)?$` - 匹配非负浮点数(正浮点数加0)。`(\.\d+)?`用来匹配小数部分,可有可无。
7. `^(([0-9]+\.[0-9]*[1-9][0-9]*)?([0-9]*[1-9][0-9]*\.[0-9]+)?([0-9]*[1-9][0-9]*))$` - 匹配正浮点数。这是一个复杂的正则表达式,确保至少有一个非零数字在整数或小数部分。
8. `^((-\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]*)))$` - 匹配负浮点数。
10. `^(-?\d+)(\.\d+)?$` - 匹配浮点数。这个表达式结合了前面的正负整数和浮点数规则。
11. `^[A-Za-z]+$` - 匹配由26个英文字母组成的字符串。
12. `^[A-Z]+$` - 匹配由26个英文字母的大写组成的字符串。
13. `^[a-z]+$` - 匹配由26个英文字母的小写组成的字符串。
14. `^[A-Za-z0-9]+$` - 匹配由数字和26个英文字母组成的字符串。
15. `^\w+$` - 匹配由数字、26个英文字母或下划线组成的字符串。`\w`是等同于[A-Za-z0-9_]的字符集。
16. `^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$` - 匹配电子邮件地址。这个正则表达式通常用于验证电子邮件格式是否正确。
17. `^[a-zA-z]+://` - 匹配URL的协议部分,如"http://"或"https://"。
18. `匹配中文字符的正则表达式:[\u4e00-\u9fa5]` - 这个范围包含了所有中文字符的Unicode编码。
19. `匹配双字节字符(包括汉字在内):[^\x00-\xff]` - 匹配非ASCII字符,通常用于匹配包括汉字在内的双字节字符。
20. 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)。这个函数通过将非ASCII字符替换为"aa"来计算长度。
21. `匹配空行的正则表达式:\n[\s?]*\r` - 匹配包含任意数量空白字符的行结尾。
22. `匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>?<(.*)\/>/` - 这个正则表达式试图匹配HTML标签,但它可能无法处理所有复杂情况,因为HTML的结构非常复杂,推荐使用HTML解析库来处理。
23. `匹配首尾空格的正则表达式` - 未提供具体的正则表达式,通常会使用`^\s+|\s+$`来匹配字符串开头或结尾的空格。
这些正则表达式是Java编程中常用的模式匹配工具,对于数据验证、文本处理和信息提取等任务非常有用。了解并熟练运用它们能帮助开发者提高代码质量,确保数据的正确性和一致性。在实际开发中,根据具体需求可能会对这些表达式进行调整和扩展。
2011-05-25 上传
2012-05-15 上传
2011-07-05 上传
2023-06-06 上传
2011-03-30 上传
2023-07-28 上传
2009-05-16 上传
2019-03-21 上传
JavaStars
- 粉丝: 0
- 资源: 1
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫