java_关于正则表达式及包装类

正则表达式:
(1)很多时候,我们需要对一些字符进行匹配,查找,替换等复杂的操作.我们需要通过一些表达式进行这些复杂的操作
(2)这个表达式就是正则表达式,是一串特殊意义的字符串,我们可以称之为规则表达式
常用字符集:
[]:表示匹配括号内的一个字符
[abc]:表示匹配abc任意一个字符
[a-z]:表示匹配a到z中任意一个字符
[0-9]:表示匹配0到9中任意一个字符
[a-zA-Z0-9]:表示匹配其中任意一个字符
[^a]:表示匹配除了a外任意一个字符

预定义字符集
. :表示匹配任意一个字符,外面不能加[],不然就是固定字符”.”
\d:表示匹配任意一个数字字符,相当于[0-9]
\w:表示匹配任意一个单词字符,相当于[a-zA-Z0-9_]
\s:表示匹配任意一个空格字符,相当于[\t\r\n\b]
\D:表示匹配任意一个非数字字符,相当于[^0-9]
\W:表示匹配任意一个非单词字符,相当于[^a-zA-Z0-9_]
\S:表示匹配任意一个非空格字符,相当于[^\t\r\n\b]

一些特殊字符需要使用转义字符:"\"

数量词:
假使x表示字符集
x?:相当于匹配x 0个或1个
x+:相当于匹配x 1个或1个以上
x*:相当于匹配x 0个或0个以上
x{m}:相当于匹配x m个
x{m,}:相当于匹配x m个及以上
x{m,n}:相当于匹配x m~n个

()分组:
()将正则表达式的部分规则进行划分,可以使用或(|)来进行原则其中一组规则

^和$:
有时,我们想校验一下字符串是不是从头到尾都符合一个规则校验,此时需要在正则表达式前后添加相应的符号

^:添加在正则表达式前,表示要校验的普通字符串的开头必须符合规则
$:添加在正则表达式后,表示要校验的普通字符串的末尾必须符合规则

matches(String regex):此方法验证不了我们自定义的^或 $,
因此,当把正则表达式传入方法内后.内部逻辑帮助添加了 ^和 $

总结:
正则表达式是一个灵活,逻辑性强的规则校验语法,通常用于文本中

=================================================
包装类:
java语言是面向对象的语言,而基本数据类型的数据不是对象,但是
有的时候,我们需要使用基本数据类型的数据,需要将之转换成对象来使用
这时 我们将基本数据类型的数据包装成引用类型
每一个基本数据类型都对应一种包装类
byte–> Byte
short–> Short
int–> Integer
long–> Long
float–> Float
double–> Double
char–> Character
boolean–> Boolean
特点:
(1)都是final修饰的
(2)一经创建的对象里的数据不可变
(3)character和Boolean的父类是Object
其他六种的父类是Number

    BigDecimal:大数字类型
        如果想进行精确无误差的运算

以Integer为例
常用构造器:
Integer(int value)
通过指定的基本数据类型的数据构建一个Integer对象
Integer(String str)
通过指定的字符串类型的数据构建一个Integer对象
常用方法:
int intValue()
将 Integer的值作为 int 。 (拆箱为基本数据类型)
static int parseInt(String s)
将字符串参数解析为带符号的十进制整数。(可能出现NumberFormatException数字格式化异常)
static Integer valueOf(int i)
返回一个 Integer指定的 int值的 Integer实例。(装箱为引用类型)

Byte,Short,Integer,Long,Character 这5种类型的包装类(自动装箱时)的常量池范围在-128~127之间
(由于char的底层二进制为0-65535,Character常量池范围在[0,127))
Boolean也有自己的常量池(true/false)
浮点数的Float,Double 没有常量池

猜你喜欢

转载自blog.csdn.net/yc_hen/article/details/81837283
今日推荐