软件构造复习内容(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文档说明

浙公网安备 33010602011771号