JAVA笔记09 正则表达式

it2022-05-05  143

1.补充Integer

//int-------string int num = 100; Integer integer = new Integer(num); String s = integer.tostring(); System.out.println(s); String str = num +""; String str1 = String.valueof(num); //string ---------- int 字符串转为int类型时,字符串里面的要为数字,否则出现报错 Integer integer = new Integer("100000"); int i = integer.intvalue(); System.out.println(i);

2.检验qq号的规则

//检验qq号 //要求必须是5-15数字 //0不能开头 Scanner sc = new Scanner(System.in); System.out.println("请输入你的qq号"); String str = sc.nextline; if(str.length>=5&&str.length<=15&&){ if(!str.startWith=="0"){ for(i=0;i<str.length;i++){ // Character.isDigit();确定是否为数字 Char ch = str.CharAt(i); if(ch>="0"&&ch<="9"){ System.out.println("qq号正确")}else{ System.out.println("qq号错误")} } }

3.验证手机号规则

//手机号规则 11位 以1开头 每一位都是数字 13 15 17 18 Scanner sc = new Scanner(System.in); System.out.println("请输入你的手机号"); String str = sc.nextline; if(str.lenth==11&&str.startWith(13)||startWith(15)||startWith(17)||startWith(18)){ for(i=0;i<str.length;i++){ // Character.isDigit();确定是否为数字 Char ch = str.CharAt(i); if(ch>="0"&&ch<="9"){ System.out.println("手机号正确")}else{ System.out.println("手机号错误")} } }

4.正则表达式的学习

//正则表达式:正确规则的表达式,他是一门独立的语法,其它语言也支持 //作用:用来校验数据,符不符合我所定义正则表达式的规则 String regx = "a"; //"abc".matches(regx),用来判断你这个字符串,符不符合我传入的这个正则表达式 boolean b = "a".matches(regx); boolean c = "a".equals(regx); System.out.println(b) regx = "[a,b,c]" //只要是我这里面一个就行 regx = "[1,2,3,4,5,6,7,8,9]"; regx = "[^0-9]" //不是我列表的某一个 regx = "[A-Za-z0-9]"; regx = ".";// 通配符,统配任意单个字符; regx = "\\";//只匹配,本身,需要用转意符 regx = ".." //匹配两个任意字符 regx = "\\|; //| 或者 regx = "\\d"; //等同于"[0-9] regx = "\\w"; //等同于[0-9a-zA-Z] regx = "a*"; //0次或多次 regx = "[a-z]"; //0次或1次 regx = "[a-zA-Z0-9]+"; //+ 一次或多次 regx = "[a-z]{5}"; //正好n次 regx = "[a-z]{2,}"; //不能少于2次 regx = "[0-9]{5-9}"; //大于等于5或小于等于9
练习1
//手机号规则 11位 以1开头 每一位都是数字 13 15 17 18 private static boolean check(String phoneNumber){ String number = "[1][3,5,7,8][0-9]{9}"; return phoneNumber.mathes(number);
练习2
// 邮箱 6-18个字符,可使用字母,数字,下划线,需以字母开头 private static boolean check(String eamil){ String number = "[a-zA-Z]\\w{5,17}@[a-z1-9]{2,10}\\.(com|net|cn|org)" return eamil.mathes(number);
练习3
校验身份证 String str ="[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]"

5.split方法的介绍

//正则表达式的分割功能 split()方法 //String类的功能:public String[] split(String regex) String str = "username=张三"int index = str.indexof("=") String substring = str.substring(0,index); System.out.println(substring); String substring1 = str.substring(index + 1); System.out.println(substring1); String[] split = str.split("="); System.out.println(split[0]); System.out.println(split[1]); String str = "asdfasdf1234234asdfasdf12343asdfasdf"; String str1 = "[0-9]"; String[] split1 = str.split(str1); System.out.println(Arrays.toString(split1));
练习题
//需求:我有如下一个字符串:”91 27 46 38 50”,请写代码实现最终输出结果是:”27 38 46 50 91” public class Demo{ public static void main(String[] args){ String strs = "91 27 46 38 50"; String[] strs = str.split(" "); int[] arr = new int[strs.length]; for(int i = 0; i<strs.length;i++){ arr[i] = Integer.parseInt(strs[i]); } StringBuilder sb = new StringBuilder(); for(int i = 0 ; i<arr.length;i++){ sb.append(arr[i].append(" ")); } String s = sb.toString().trim(); System.out.println(s); } }

6.根据正则替换的方法

public class MyTest{ pubic static void main(String[] args){ String s = "奥巴马和普京是朋友".replace("奥巴马""*".replace("普京""*") String s = "奥巴马和普京是朋友".replaceAll("奥巴马""*") String s1 = "121321awewrw12324sdfsdf131312sdfsd"; String s1 = s1.replaceAll("[0-9]","") } }

7.常见对象(Pattern和Matcher的概述

// pattern 模式器用来封装一个正则表达式 //matcher匹配器可以封装一个待匹配的数据 //可以通过匹配器中的方法进行匹配 //获取一个模式器 Pattern p = Pattern.compile("a*b*"); //通过模式器获取一个匹配器 Matcher m = p.matcher("aaaaab"); //进行匹配 boolean b = m.matches System.out.println(b); //如果你想看字符串符不符合正则表达式规则,那就使用matches()方法 boolean matches = "aaaaab".matches("a*b*"); System.out.println(b); String str = "da jia ting wo shuo ,jin tian yao xia yu ,bu shang wan zi xi"; String str1 = "[a-z]{3}"; Pattern p = Pattern.compile(str1); Matcher m = p.matcher(str); boolean b = m.find(); if(b){ String g = matcher.group(); System.out.print(g); }

最新回复(0)