正则表达式
1.组成规则
通过特定的语法,书写一些规则,用于对数据的规则进行校验;是一门独特的语
法,很多语言都支持。
规则字符在java.util.regex Pattern类中;
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]
\w 单词字符:[a-zA-Z_0-9]
在正则表达式里面组成单词的东西必须有这些东西组成
D:边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
就是不是单词字符的地方。
举例:hello world?haha;xixi
E:Greedy 数量词
X? X,一次或一次也没有 比如""空串 就是没有
X* X,零次或多次 大于等于1次 都算多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
2 判断功能
String类的功能:public boolean matches(String regex)
3 分割功能
String类的功能:public String[] split(String regex)
4 替换功能
String类的功能:public String replaceAll(String regex,String replacement)
5 模式器和匹配器
Pattern和Matcher:
pattern:模式器:用来封装正则表达式;
Matcher:匹配器
eg:
pattern p=Pattern。compile("a*b");//待匹配;
Matcher m=p.matcher("abc");//进行匹配;
while(matcher.find()){ //判断是不是要查找的字符
String group=matcher.group();//有则截取去符合正则的数据
System.out.println(group);
}
Math类
全是静态修饰,查找使用类名调用:
double e = Math.E;
double pi=Math.Pi;
int max=Math.max(a,b);
int min=Math.min(a,b);
double ceil=Math.ceil(3.14); //向上取整---->4
double floor=Math.floor(3.14); //向下取整---->3
int abs=Math.abs(-1); //绝对值
double round=Math.round(3.167); //四舍五入
double random=Math.rondom(); //0-1之间的随机小数
double pow=Math.pow(2,3); //2的3次方
double sqrt=Math.sqrt(4); //4的平方根
Roodom:
Roodom(Long seed):
使用单个Long种子创建一个新的随机数,生成器;
传入后,每次重新运行,生成的随机数据不变。