Java 学习笔记 正则表达式

2019.3.27 正则表达式

  • \w 单词字符,匹配[]a-zA-Z_0-9]
  • \w{3} 表示匹配3个字符()ab8,abc,a_c,a5_...)
  • \w+ 至少一个,1到多个
  • \w* 0个到n个
  • ^ 行的开头
  • $ 行的末尾
  • a*b a的个数可以有无数个,例如可以匹配aaaab
  • [abc] abc中任有一个 可以
  • [abc]* abc中任意有一个或者多个都可以,都可以,例如abc,a,bca,bca,cbaccb...
  • [abc]{3} 有三个字符都是abc中的任意一个,都可以匹配成功 abc,abb,acc...
  • 去重
    • (.)\1+ 向后引用
    • $1 第一个分组的引用
      jjjkkkkk
      (.)当作为第一个j,\1相当于j的引用,有1个或多个(上面就是有3个j),之后把符合的全部替换为$1(也就是第一个j),括号之间的.代表任何字符,包括空格等
String s = "jjjkkk";
String news = s.replaceAll("(.)\\1+)","$1");
		String s = "hello   jack";
        String s1 = s.replaceAll("( )\\1+", " ");//去除多余的空格
        System.out.println(s1);

有转义

 val regex = Regex("[\\u4e00-\\u9fa5]+\\w?\\s?(publish)+")

    println(regex.matches("我publish")) //true
    println(regex.matches("我mpublish")) //true
    println(regex.matches("我m publish")) //true
posted @ 2019-03-28 20:20  Stars-one  阅读(343)  评论(0编辑  收藏  举报