Java 正则表达式大全
需积分: 3 59 浏览量
更新于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 上传
2023-06-06 上传
2023-05-28 上传
2024-05-30 上传
2023-08-03 上传
2023-11-02 上传
2023-07-31 上传
JavaStars
- 粉丝: 0
- 资源: 1
最新资源
- MiAD-MATALB集成放大器设计工具:MiAD使用晶体管的s参数评估放大器的稳定性和增益分布。-matlab开发
- software-engineering-project-the-commodore-exchange:GitHub Classroom创建的software-engineering-project-the-commodore-exchange
- 多用户在线网络通讯录B/S结构
- MongoDB-连接-Python
- 行业文档-设计装置-一种胶辊的脱模工艺.zip
- ansible-cacti-server:在类似Debian的系统中(服务器端)设置仙人掌的角色
- Trevor-Warthman.github.io:我的个人网页
- test_app
- github-slideshow:由机器人提供动力的培训资料库
- Band-camp-clone
- 行业文档-设计装置-化学教学实验用铁架台.zip
- hidemaruEditor_faq:Hidemaru编辑器常见问题集
- 观察组的总体均值和标准差:计算观察组的总体均值和标准差-matlab开发
- CovidAC
- HelpLindsay:可以帮助我完成各种任务的脚本集合
- lab01-alu-grupo14:GitHub Classroom创建的lab01-alu-grupo14