2020-03-04(观看视频笔记)
1、正则表达式
(1)规则:
A:字符
x 表示字符x。 举例:‘a'表示字符a
\\ 反斜杠字符。
\n 换行符('\u000A')
\r 回车符('\u000D')
B:字符类
[abc] a、b或者c(简单类)
[^abc] 任何字符,除了a、b或者c(否定)
[a-zA-Z] a到z 或者A到Z,两头的字符包括在内(范围)
[0-9] 0到9的字符都包括
C:预定义字符类
. 任何字符。我就是.字符本身,怎么表示呢?\.
\d 数字[0-9]
\D [^0-9]
\w 单词字符[a-zA-Z_0-9]
\W [^a-zA-Z_0-9]
D:边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界。就是不是单词字符的地方。
E:Greedy 数量词
X? X,一次或一次页没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好n次
X{n,} X,至少n次
X{n,m} 至少n次,但是不超过m次
(2)应用
判断功能:
public boolean matches(String regex)
分割功能:
public String[] split(String regex)
例:
String s = "E:\\JavaSE\\day\\avi"; //硬盘上的路径,我们应该用\\来替代\
String[] strArray = s.split("\\\\"); //正则里面也需要用\\来替代\,所以\\\\就替代了\\
for(int i = 0; i < strArray.length; i++) {
System.out.println(strArray[i]);
}
替换功能:
public String replaceAll(String regex, String replacement)
使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串。
获取功能:
Pattern和Matcher类的使用