黑马程序员_ 正则表达式(笔记)

来源:互联网 发布:php面向对象编程 编辑:程序博客网 时间:2024/04/27 00:43

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

正则表达式顾名思义 就是按照正确的规则写出来的表达式

是指用来表示一些自己定义的按照摸个语法规则的单个字符串 

其实就是自己定义一个规则 让自己其他的程序跟这个规则做比较 

 例如QQ号码:

                登陆的时间会要求你写QQ号码 要求如下

                               1.是位数要求是在6-11位之间

                               2.要求开头不能为0

代码体现如下:

          public class Test {
   public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String str= sc.nextLine();
  String regex="[1-9]\\d{5,10}";
 boolean  flag=str.matches(regex);
  System.out.println(flag);
}
}

这个就是一个简单的正则表达式的规则 按照输入的号码 与正则表达式比较做判断

正则表达式  需要学习API里面的 pattern  里面详细的介绍了各种规则

需要注意的一点是切割里面的 "."的切割问题 因为“.”在java中属于特殊的字符

所以其用法也有点不一样 举例如下:

  String  s="aa.bb.cc.dd";

  String  regex=".";

String[] str=s.split(regex);

如此切割的话是得不到任何数据的

正确的应该是:

 String  s="aa.bb.cc.dd";

  String  regex="\\.";

String[] str=s.split(regex);

用2个反斜线 这个菜代表一个真正的“.”;

另外 切割多个空格字符

String  s="aa    bb               cc                           dd";

  String  regex="  +";

String[] str=s.split(regex);

一个空格加上一个加好代表空格出现一次或者多次

切割目录的相对路径

String s="E:\\video\\11.12\\code";

String regex = "\\\\";

String[] str= s.spilt(regex);

叠词的规则:(.)\\1+;

String s="asbbbsdkkkkaeoooosd"

 String regex="(.)\\1+ ";

String[] str=s.spilt(regex);

其他的或许有更重要的 如有不足之处 请多多添加

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------




                            

0 0
原创粉丝点击