Java正则表达式完全指南
需积分: 0 9 浏览量
更新于2024-09-14
1
收藏 37KB DOC 举报
"JAVA正则表达式语法"
Java正则表达式是用于处理字符串的强大工具,它允许程序员根据特定模式匹配、查找、替换或提取文本。以下是一些基本的Java正则表达式语法和示例,这些示例涵盖了各种常见的情况:
1. **整数或小数**:`^[0-9]+\.{0,1}[0-9]{0,2}$` 这个正则表达式用于匹配整数或最多包含两位小数的浮点数。例如,123, 123.4, 12.34都是有效的,但123.456不是。
2. **只允许输入数字**:`^[0-9]*$` 这个表达式会匹配任何仅由数字组成的字符串,如123, 4567等。
3. **指定位数的数字**:
- `^\d{n}$` 匹配恰好n位的数字,例如`^\d{3}$`将匹配123这样的三位数。
- `^\d{n,}$` 匹配至少n位的数字,例如`^\d{3,}$`将匹配123, 1234, 12345等。
- `^\d{m,n}$` 匹配m到n位的数字,例如`^\d{2,4}$`将匹配12, 345, 6789等。
4. **非零开头的数字**:`^(0|[1-9][0-9]*)$` 这个表达式用于确保数字不是零开头,例如123, 456等。
5. **有固定小数位的正实数**:
- `^[0-9]+(.[0-9]{2})?$` 匹配带有两位小数的正实数,如123.45。
- `^[0-9]+(.[0-9]{1,3})?$` 匹配至少一位小数,最多三位小数的正实数,如123.4, 1234.567。
6. **非零的正整数和负整数**:
- `^\+?[1-9][0-9]*$` 匹配非零的正整数,如123, +456。
- `^\-[1-9][0-9]*$` 匹配非零的负整数,如-123。
7. **长度固定的字符串**:`^.{n}$` 匹配长度为n的任意字符的字符串,如`^.{3}$`匹配abc, def等。
8. **特定字符集的字符串**:
- `^[A-Za-z]+$` 只能输入由26个英文大小写字母组成的字符串。
- `^[A-Z]+$` 只能输入由26个大写英文字母组成的字符串。
- `^[a-z]+$` 只能输入由26个小写英文字母组成的字符串。
- `^[A-Za-z0-9]+$` 只能输入由数字和26个英文字母组成的字符串。
- `^\w+$` 只能输入由数字、26个英文字母或下划线组成的字符串,其中`\w`是代表字母、数字和下划线的元字符。
9. **特殊字符的验证**:`[^%&',;=?$\x22]+` 验证字符串中不包含特定的特殊字符,如^%&',;=?$"。
10. **汉字验证**:`^[\u4e00-\u9fa5]{0,}$` 这个正则表达式用于验证输入的字符串是否全由汉字组成。
11. **电子邮件地址验证**:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` 这是一个标准的电子邮件地址验证表达式。
12. **网址验证**:`^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` 用于验证一个标准的互联网URL。
13. **电话号码验证**:`^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$` 匹配多种格式的电话号码,如123-4567890, (123)-4567890等。
14. **身份证号验证**:`^\d{15}|\d{18}$` 匹配15位或18位的身份证号码。
15. **12个月份验证**:`^(0?[1-9]|1[0-2])` 匹配1到12的月份数字,用于验证月份输入。
正则表达式是Java编程中的重要组成部分,它在数据验证、文本处理和搜索替换等方面有着广泛的应用。通过熟练掌握这些基本表达式和它们的组合,开发者可以更有效地处理字符串操作。在实际开发中,还可以根据具体需求定制更复杂的正则表达式。
2018-06-12 上传
2019-08-03 上传
2012-06-05 上传
2023-11-19 上传
2020-09-03 上传
2012-12-13 上传
2009-08-13 上传
点击了解资源详情
点击了解资源详情
qpy443149385
- 粉丝: 0
- 资源: 90
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍