Java正则表达式完全指南
需积分: 9 99 浏览量
更新于2024-09-16
收藏 59KB DOC 举报
【JAVA正则表达式语法】
正则表达式是Java编程中一种强大的文本处理工具,用于匹配、查找、替换等操作。在Java中,正则表达式通常与`java.util.regex`包中的类一起使用,如`Pattern`和`Matcher`。
1. **基本语法**
- `^` 表示行的开始
- `$` 表示行的结束
- `\d` 代表数字,相当于 `[0-9]`
- `\D` 代表非数字字符
- `\w` 代表单词字符(等同于[a-zA-Z0-9_])
- `\W` 代表非单词字符
- `\s` 代表空白字符
- `{n}` 重复n次
- `{n,}` 重复n次或更多次
- `{n,m}` 重复n到m次
2. **示例解析**
- 整数或小数:`^[0-9]+\.{0,1}[0-9]{0,2}$`,匹配0-9之间的整数或最多保留两位小数的浮点数。
- 只能输入数字:`"^[0-9]*$"`,仅允许输入0-9的数字。
- n位数字:`"^\d{n}$"`,确保输入正好n位数字。
- 至少n位数字:`"^\d{n,}$"`,允许输入n位或更多的数字。
- m~n位数字:`"^\d{m,n}$"`,限制输入在m到n位之间的数字。
- 零或非零开头的数字:`"^(0|[1-9][0-9]*)$"`,允许输入0或非零开头的数字。
- 有两位小数的正实数:`"^[0-9]+(.[0-9]{2})?$"`,匹配至少一位整数部分,最多两位小数的正实数。
- 1~3位小数的正实数:`"^[0-9]+(.[0-9]{1,3})?$"`,匹配至少一位整数部分,小数部分1到3位的正实数。
- 非零的正整数:`"^\+?[1-9][0-9]*$"`,匹配非零的正整数。
- 非零的负整数:`"^\-[1-9][]0-9"*$`,匹配非零的负整数。
- 长度为3的字符:`"^.{3}$"`,确保输入长度为3的字符串。
- 26个英文字母组成的字符串:`"^[A-Za-z]+$"`,仅允许输入英文字母。
- 大写字母组成的字符串:`"^[A-Z]+$"`,仅允许输入大写字母。
- 小写字母组成的字符串:`"^[a-z]+$"`,仅允许输入小写字母。
- 数字和26个英文字母组成的字符串:`"^[A-Za-z0-9]+$"`。
- 数字、26个英文字母或下划线组成的字符串:`"^\w+$"`。
- 用户密码验证:`"^[a-zA-Z]\w{5,17}$"`,验证以字母开头,长度6-18,包含字母、数字和下划线的字符串。
- 特殊字符检查:`"[^%&',;=?$\x22]+"`,验证是否包含特定特殊字符。
- 汉字输入:`"^[\u4e00-\u9fa5]{0,}$"`,只允许输入汉字。
- 邮箱地址验证:`"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"`,匹配标准的邮箱地址格式。
- URL验证:`"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"`,验证互联网URL。
- 电话号码验证:`"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"`,匹配多种格式的电话号码。
- 身份证号验证:`"^\d{15}|\d{18}$"`,验证15位或18位的身份证号。
- 一年的12个月:`"^(0?[1-9]|1[0-2])"`,匹配1到12的月份。
3. **使用方法**
- 创建模式:`Pattern pattern = Pattern.compile("正则表达式");`
- 匹配字符串:`Matcher matcher = pattern.matcher("待匹配的字符串");`
- 验证是否匹配:`boolean isMatch = matcher.matches();`
- 获取匹配结果:`while (matcher.find()) { System.out.println(matcher.group()); }`
通过这些正则表达式,开发者可以有效地验证和处理各种输入数据,确保其符合预期的格式和规则。在实际开发中,正则表达式常用于表单验证、数据清洗、日志分析等多个场景。理解并熟练运用正则表达式是每个Java程序员必备的技能之一。
2428 浏览量
118 浏览量
2012-06-05 上传
2023-11-19 上传
376 浏览量
2009-08-13 上传
110 浏览量
点击了解资源详情
点击了解资源详情
varyall
- 粉丝: 1162
- 资源: 257
最新资源
- 基于Cordova + Framework7 + React + Webpack构建混合App.zip
- CoronaGame_front
- 无线传感网络节点能耗模型.zip
- 蓝色扁平化商务工作汇报图表下载PPT模板
- ember-bootstrap-controls:一个Ember组件库,它使用Bootstrap4表单并输入样式和html
- PWABuilder-CLI:用于应用程序生成的Node.js工具
- XY轴点焊机_三菱伺服_
- 毕业设计,基于人脸识别的智能家居控制系统.zip
- rust-reference-book:中文版的Rust参考
- assignment-problem:匈牙利方法的分配问题
- 微立体建筑行业工作汇报图表大全PPT模板
- 电脑使用时间管理 ManicTime-4.3.rar
- firebase-firestore-lite:浏览器的轻量级云Firestore库
- bouquins:calibre 电子书管理器的 Web 前端
- MFC中修改Button控件字体、字体大小、背景色、背景图片
- Baymin是一个基于Android系统开发的可以用于语音聊天的智能机器人,它能够陪你聊天,帮你查天气,查路线、车票.zip