String qq = "1234567890"
qq.matches("[1-9]\\d{5,19}")
[1-9]第一位不等于零
\\d都是数字
{5,19}后面的5到19位。
正则表达式的作用
作用1:校验字符串是否满足规则
作用2:在一段文本中查找满足要求的内容
sout("\"");
此时的\表示转义字符,改变了后面那个双引号原本的含义
把它变成了一个普普通通的双引号而已
书写心得:拿着一个正确的数据,从左到右依次去写
//座机电话号码
//020-2324242 02122442027-424240712-3242434//思路:
//在书写座机号正则的时候需要把正确的数据分为三部分//-:区号e\d{2,3}
//0:表示区号一定是以0开头的\d{2,3}:表示区号从第二位开始可以是任意的数字,可以出现2到3次。?表示次数,a次或一次//二:-
//三:号码 号码的第一位也不能以8开头,从第二位开始可以是任意的数字,号码的总长度:5-10位
string regex2="0\\d{2,3}-?[1-9]\\d{4,9}";
System.out.println("020-2324242".matches(regex2));
System.out.println("02122442".matches(regex2));
System.out.println("027-42424".matches(regex2));
System.out.println("0712-3242434".matches(regex2));
//邮箱号码
//3232323@qq.com zhangsan@itcast.cnn dlei0009@163.comdleie0g9@pci.com.cn//思路:
//在书写邮箱号码正则的时候需要把正确的数据分为三部分
//第一部分:@的左边\w+任意的字母数字下划线,至少出现一次就可以了
//第二部分:@ 只能出现一次
//第三部分:
3.1.的左边[\\w&&[^_]]{2,6}
任意的字母加数字,总共出现2-6次(此时不能出现下划线)
3 .2 . \\.
3.3 大写字母,小写字母都可以,只能出现2-3次[a-z-z]{2,3}3 .31我们可以把3.2和3.3看成一组,这一组可以出现1次或者两次
string regex3 ="\\w+@[\\w&&[^ _]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}"
System.out.println("3232323@qq.com".matches(regex3));
System.out.println("zhangsan@itcast.cnn".matches(regex3));
System.out.println("dlei0009@163.com".matches(regex3));
System.out.println("dlei0009@pci.com.cn".matches(regex3));
------------------------------------------------------------------------------------------------
(?i)忽略大小写
编写正则的小心得:
第一步:按照正确的数据进行拆分
第二步:找每一部分的规律,并编写正则表达式
第三步:把每一部分的正则拼接在一起,就是最终的结果
书写的时候:从左到右去书写。