标签:有用 spl bool 限制 out 编号 regex print ring
package com.regex; public class Demo1 { public static void main(String[] args) { // 非正则表达式实现 System.out.println(checkQQ("012345")); // 正则表达式实现 String regex = "[1-9]\\d{4,14}"; System.out.println("111111".matches(regex)); } /** * 需求:校验qq号码 * 1、要求必须是5-15位数字 * 2、开头不能为0 * 3、必须都是数字 * 校验qq * 1、明确返回值类型boolean * 2、明确参数列表String qq */ public static boolean checkQQ(String qq) { boolean flag = true; // 如果校验qq不符合要求就把flag设置为false,如果符合要求则直接返回 if (qq.length() >= 5 && qq.length() <= 15) { if (!qq.startsWith("0")) { char[] arr = qq.toCharArray(); // 将字符串转换成字符数组 for (int i = 0; i < arr.length; i++) { char ch = arr[i]; if (!(ch >= ‘0‘ && ch <= ‘9‘)) { flag = false; // 不是数字 break; } } } else { flag = false; // 以0开头,不符合qq标准 } } else { flag = false; // 长度不符合 } return flag; } }
package com.regex; import java.util.Arrays; public class Test1 { /** * 需求:将"91 27 46 38 50"这个字符串通过代码实现输出"27 38 46 50 91"这个结果 * 分析: * 1,将字符查UN切割成字符串数组 * 2,将字符串转换成数字并将其存储在一个等长度的int数组中 * 3,排序 * 4,将排序后的结果遍历并拼接成一个字符串 */ public static void main(String[] args) { String s = "91 27 46 38 50"; //1,将字符查UN切割成字符串数组 String[] sArr = s.split(" "); // 2,将字符串转换成数字并将其存储在一个等长度的int数组中 int[] arr = new int[sArr.length]; for (int i = 0; i < arr.length; i++) { arr[i] = Integer.parseInt(sArr[i]); //将数字字符串转换成数字 } //3,排序 Arrays.sort(arr); //4,将排序后的结果遍历并拼接成一个字符串 /*String str = ""; for (int i = 0; i < arr.length; i++) { if (i == arr.length - 1) { str += arr[i]; }else { str += arr[i] + " "; } } System.out.println(str);*/ StringBuilder sb = new StringBuilder(); for (int i = 0; i < arr.length; i++) { if (i == arr.length - 1) { sb.append(arr[i]); }else { sb.append(arr[i] + " "); } } System.out.println(sb); } }
public static void demo3() { String s = "我我我...我..我.我...爱爱爱....爱.爱..爱...学..学.学.学学学......习习习习.习.习"; String s2 = s.replaceAll("\\.", ""); String s3 = s2.replaceAll("(.)\\1+", "$1"); //$1代表第一组中的内容 System.out.println(s3); } public static void demo2() { String s = "adqqfgkkkjppppa1"; String regex = "(.)\\1+"; //+代表第一组出险一次到多次 String[] arr = s.split(regex); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static void demo1() { //叠词 快快乐乐,高高兴兴 /*String regex = "(.)\\1(.)\\2"; System.out.println("快快乐乐".matches(regex)); System.out.println("快快快乐".matches(regex)); System.out.println("快乐快乐".matches(regex)); System.out.println("高高兴兴".matches(regex));*/ //叠词 死啦死啦,快快乐乐 String regex = "(..)\\1"; System.out.println("死啦死啦".matches(regex)); System.out.println("快快快乐".matches(regex)); System.out.println("快乐快乐".matches(regex)); System.out.println("高高兴兴".matches(regex)); }
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matchers();
package com.regex; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo3 { public static void main(String[] args) { String s = "我的手机号码是:13912345678,曾经用过13838383388,还有13345678910"; String regex = "1[3578]\\d{9}"; //手机号码的正则表达式 Pattern p = Pattern.compile(regex); Matcher m = p.matcher(s); while (m.find()) { System.out.println(m.group()); } } }
2019-05-23 Java学习日记之正则表达式&常用工具类
标签:有用 spl bool 限制 out 编号 regex print ring
原文地址:https://www.cnblogs.com/clqbolg/p/10915758.html