正则表达式
import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternDemo { public static void main(String[] args) { //带匹配字符串 String str = "akv"; //1.创建出Pattern类的对象--------指定匹配规则 Pattern pattern = Pattern.compile("[akf][lfdk][vjds]"); //2.把带匹配的字符串和匹配规则进行关联 Matcher matcher = pattern.matcher(str); //3.进行匹配 System.out.println(matcher.matches()); } }
// 匹配内容为abc的字符串 String str = "abc"; System.out.println(str.matches("abc")); // 匹配字符串由abd/cfg/kjl组成 // [] ---- 任意匹配其中一个 String str = "afk"; System.out.println(str.matches("[abd][cfg][kjl]")); // .任意字符 String str = "a"; System.out.println(str.matches(".")); // 匹配.字符 \\. ---为字符串转义 \. ---为正则转义--- System.out.println(str.matches("\\.")); // 匹配\ // \\\\ ------ 字符串转义 \\ ----- 正则转义 --- \ String str = "\"; System.out.println(str.matches("\\\\")); // 匹配"\t"字符串,str.matches("\t")或str.matches("\\t")或str.matches("\\\t") String str="\t"; System.out.println(str.matches("\\\t")); // + ---- 修饰前面的字符出现的次数 >=1 最少出现一次 String str = "aewqe3"; System.out.println(str.matches("a.+[0-9]")); // ? ---- <=1, 最多出现一次 String str1 = "9a"; System.out.println(str1.matches("[0-9].?[a-z]")); // * ----- 代表可以不出现,也可以出现多次 String str2 = "ab"; System.out.println(str2.matches("a.*b")); // {n} ---- 匹配n个重复字符的字符串 String str3 = "aaaaa"; System.out.println(str3.matches("a{5}")); // {n,} --- 前面的字符最少出现n次 String str4 = "aaadfafdfas"; System.out.println(str4.matches(".{8,}")); // {n,m} --- 前面的字符出现次数在n和m之间,闭区间 String str5 = "adfadfa"; System.out.println(str5.matches(".{2,8}")); // 匹配含有ab的字符串 String str="jjabk;l"; System.out.println(str.matches(".*ab.*")); // () --- 捕获组,编号从一开始 /* \\n ---- n是捕获组的编号 * 捕获组的编号遇见”(“ 就开始编号 * (A(C(D))B)E)(F)G * 1 A(C(D))B * 2 C(D) * 3 D * 4 F * */ String str1 = "abab4"; System.out.println(str1.matches(".*ab.*ab.*")); System.out.println(str1.matches(".*(ab).*\\1.*")); // 匹配叠字 String str2 = "aaaaa"; System.out.println(str2.matches("(.)\\1+")); // 对字符串中的数字进行排序 // 1.替换 ---只剩数字 String str="jja136sd54l"; str = str.replaceAll("[a-z]", ""); // \\[ | \\]表示去掉 ”【“ 和 “】” String str="13[65]]4"; str = str.replaceAll("\\[|\\]", ""); System.out.println(str); //13654; // 对字符串中的数字进行排序 // 1.替换 ---只剩数字 str = str.replaceAll("[a-z]", ""); // \\[ | \\]表示去掉 ”【“ 和 “】” str = str.replaceAll("\\[|\\]", ""); // 2.把字符串转化为字符数组 char[] cs = str.toCharArray(); // 3.对字符数组进行排序 Arrays.sort(cs); System.out.println(Arrays.toString(cs)); // 通过replace()实现互换 String str="tomandjack"; //把tom和jack互换 //$ ---- 表示在其他的表达实力拿捕获组$n ------ n为捕获组编号 System.out.println(str.replaceAll("(tom)(.*)(jack)", "$3$2$1")); // 叠字变单字 String str1 = "aaaaa"; System.out.println(str1.replaceAll("(.)\\1+", "$1"));
保存redis相关笔记