正则表达式-初学

这里写目录标题

    • 正则表达式
      • 练习:校验qq号码
      • 练习:校验手机号码
      • 练习:切割电话号码案例
      • 练习:切割ip地址案例

正则表达式

正则表达式是什么?是一个字符串—“正则表达式内容”;
正则表达式作用: 用来匹配字符串的;
代码实现:
public boolean matches(String regex);
boolean b = “普通字符串”.matches(“正则表达式”);
书写正则表达式的技巧:
需要一位一位的去判断字符串;
[]:表示范围;
{}:表示前面一位字符串出现个数;

练习:校验qq号码

QQ号码需要满足的规则:
(1)必须0-9的数字;
(2)开头是1-9的数字;
(3)位数必须是5-12位;

String qq = "1762254168";//待验证的qq号码;
boolean b = qq.matches([1-9][0-9]{
     4-11});
Syatem.out.println(b);//
//解析:
//[1-9]是字符串的第一位的范围;
//[0-9]是字符串的第二位的范围;
//{4-11}表示[0-9]出现的次数


练习:校验手机号码

(1)必须是11位0-9的数字;
(2)开头第一位数字必须是1;
(3)第二位数字是3,4,5,7,8;
(4)其他数字可以是0-9;

String tel = "13172731966";
boolean b1 = tel.matches("1[34578][0-9]{9}");
Syatem.out.println(b1);
//解析:
//1表示开头第一位就是1;
//[34578]表示第二位是3,4,5,7,8的任意一位;
//[0-9]表示字符串第三位可以取0-9的任意一位;
//{9}表示[0-9]出现的次数;

public String[] split(String regex);//切割字符串;

练习:切割电话号码案例

String telPhone = "2345-3456-1257-2874";
Strng[] tel = telPhone.split("-+");
for(int i = 0; i < tel.length; i++) {
     
	System.out.println(tel[i]);
}

练习:切割ip地址案例

//"."在正则表达式中表示任意字符;想要使用它必须通过转义;

String ip = "192.168.7.123";//ip地址
String[] ip2 = ip.split("\\.+");//\\.转义成普通的.,
for(int i = 0; i < ip2.length; i++) {
     
	System.out.println(ip2[i]);
	//192 
	//168 
	//7 
	//123
}

你可能感兴趣的:(正则表达式-初学)