软件构造复习内容(7)---正则表达式

1.正则表达式符号

   yz    y和z连接

  y*     0个y或者对个y,是y的克林闭包

  y | z  y或者z

  y? 一个y或者0个y

  y+ 1个y或者多个y,y的克林闭包除去空串

  [....] 多个或者,例如   [abc] 是 a或者b或者c 的意思  [a-z] 表示从a到z中的字母中的任意一个。

  [^..] 取反  [^a-c] [a-z]中除去a到后的任意一个

  \d [0-9]

  \s 空白字符,包括空格,tab和回车

  \w [0-9a-zA-Z]

  () 将正则表达式分组   e.g  (/d+)(A|Z) 表示/dA或者是/dZ

  c   除 . * + ? { | ( ) [ \ ^ $ 之外的任意一个字符,表示这些特殊字符就要使用转移字符,例如 \.表示.

    但是在Java中\\才表示一个\,因此在程序代码中\\.表示正则表达式中的一个点,\\\\表示正则表达式中一个\

  更复杂的符号详见

  参考https://tool.oschina.net/uploads/apidocs/jquery/regexp.html

2.Java中表示正则表达式的类

  

 

   注:

  matches()方法和find()方法只能匹配一次返回正确的结果,再次调用会一直返回false

  matches()是将input和regex完全匹配,成功才返回true;

  find()是寻找input中是否包含regex,包含就返回true;

  只做简单介绍,更多的方法请参看 Java Doc文档说明

 

posted @ 2020-06-24 17:18  GuiQuQu  阅读(176)  评论(0)    收藏  举报