正则表达式:
1、 字符串
2、 表示正确规则的式子
我们做一个SimpleDateFormat例子
首先新建一个工程,创建一个类
![b3710973b5c9deead1dd6f21637d1775.png](https://i-blog.csdnimg.cn/blog_migrate/fe1d945d715414e0ef586203dd1c49e0.jpeg)
我们在获取当前系统时间的时候,我们可以按照下面的方式输出。
![90bf4508c06c465fbf1784f4f59730e6.png](https://i-blog.csdnimg.cn/blog_migrate/1c60a39171d8f59873531a0eb25d2f34.jpeg)
会发现输出的时间并不是很容易阅读,我们能不能修改下它的显示?
当然是可以的
输出格式: 2006-4-16
![ec051989a361d635c944022dab3da48a.png](https://i-blog.csdnimg.cn/blog_migrate/771a8fae92ef490ed90bffd23c9e0f4e.jpeg)
输出格式: 2006年4月16日 星期六
![2022c7f256db1407fb54ecf54bf279e9.png](https://i-blog.csdnimg.cn/blog_migrate/87f4fd4b978d242ff020c5c67cb524fc.jpeg)
这上面的就是用数字表示规则的,下面就是用字符串表示规则的
输出格式: 2006-01-01 00:00:00
![e494c7e2bec29eb9bf359e1e1f84ffc3.png](https://i-blog.csdnimg.cn/blog_migrate/ce974ad8a2bc27243a780c91fd6c8fa3.jpeg)
输出格式: 2006-01-01
![22c7cd191952e2820fd2f0a648b38448.png](https://i-blog.csdnimg.cn/blog_migrate/121596cd37339fc3f7bbc8bfbc445166.jpeg)
我们就可以认为这是一个正则
![ace614a40624d9e7feb91efa26df0cbe.png](https://i-blog.csdnimg.cn/blog_migrate/bf9eb9dfa64a70c8758ff8f5027e7bd0.jpeg)
做一个小例子,检验QQ号
我们先不用正则去检验QQ号
先准备一个简单的规则:
(1) 长度是5-13位
(2) 内容必须是数字不能以0开头
那么我们代码的流程是:
(1)来源:有一个QQ号(可能键盘输入也可能是文本导入等等)
(2)检验:长度、数字、0开头
创建一个新类
![387e3fda70f8ef99bfb7a73e6d34c990.png](https://i-blog.csdnimg.cn/blog_migrate/d923778689d2dc2e44102bf45df1fcff.jpeg)
编写代码
长度验证
![cb38afaf01cb2cfe94a749b227824638.png](https://i-blog.csdnimg.cn/blog_migrate/6f6231dd54ba7db402d12c215220e5f5.jpeg)
0开头验证
![0ee51186f6982beec7d87768cafe872c.png](https://i-blog.csdnimg.cn/blog_migrate/29b9fca3ad63f986b3d9b5fd94b1ddba.jpeg)
数字验证
![c223a6d7815efedcfd179913b2fca318.png](https://i-blog.csdnimg.cn/blog_migrate/1dccd9d2540b57f66bd69e403c551131.jpeg)
那么用正则的方式呢?
首先我们需要了解一个方法matches(),该方法用于检测字符串是否匹配给定的正则表达式,在字符串匹配给定的正则表达式时,返回 true,否则false。
编写正则表达式:
方括号是单个匹配,所以
第一个字符不能是0:[1-9]
第二个字符是任意数字:[0-9]
此时正则是[1-9][0-9]
[0-9]这个匹配的长度是第6位到13位,因为第一位已经是[1-9]的规则,[0-9]第二个字符的这个规则应该是从第{4,12},就是最少再出现4位,最多再出现12位,换句话大括号就是匹配次数,它需要和其他有意义的正则表达式一起使用。
此时正则是[1-9][0-9]{4,12}
代码
![d2f46d73a79dec32f72ce03d2c016411.png](https://i-blog.csdnimg.cn/blog_migrate/6e8de91640fd8bc45027f792fb653fbd.jpeg)