正则表达式:
(1)很多时候,我们都需要对一些字符进行匹配,查找,替换等复杂的操作。我们可以通过”正则表达式”来帮助实现这些复杂操作。
(2)正则表达式, 它是一个有“特殊意义”的字符串,定义了一种”校验规则”。
常用字符集:
[]:表示匹配括号内的一个字符
[abc]:表示匹配abc中的任意一个 字符
预定义字符集:
. :表示匹配任意一个字符
\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个
():分组
()将正则表达式的部分规则进行了划分,可以使用|来进行选择其中一组规则。
reg:手机号前带有区号
+861375651674
0086 1375651674
正则表达式:
(+86|0086)?\\s?1\\d{10}
^和$:
有时,我们想校验一个字符串是不是从头到尾都符合一个规则校验此时需要在正则表达式前后添加相应的符号:
^:添加在正则表达式前,表示要校验的普通字符串的开头就必须符合规则。
$:添加在正则表达式后,表示要校验的普通字符串的末尾必须符合规则。
注:前后都有此符号时:考虑的普通字符串的整体。
reg:
"^[\\d]{6,8}"
"123456aaaaaaaaa"可以满足上述正则表达式
"[\\d]{6,8}$"
"abc12345678" 可以满足上述正则表达式
"^[\\d]{6,8}$"
"12345678"
matchs(String regex):
此方法验证不了我们自定义添加的”^”或”$”;因此当把正则表达式传入方法内后,内部逻辑帮助添加了”^”和”$”。
总结:正则表达式 是一个灵活,逻辑性强的规则校验语法。通常用于文本中。
包装类:
java语言是面向对象的语言,而基本数据类型的数据不是对象,但是有的时候我们需要研究使用基本数据类型的数据,需要将之转换成对象来使用。这个时候,我们可以将基本数据类型包装成 引用类型。
每一个基本数据类型都对应一个包装类:
byte---> Byte
short--> Short
int--> Integer
long--> Long
float--> Float
double--> Double
char--> Character
boolean--> Boolean
特点:
(1)都是final修饰的
(2)一经创建的对象里的数据不可变
常用构造器:
Integer(int value)
通过指定的基本数据类型的数据构建一个Integer对象
Integer(String str)
通过指定的字符串的数据构建一个Integer对象
常用方法:
int intValue();
作用是将包装类的对象拆箱成基本数据类型
static int parseInt(String s)
作用是将字符串转成10进制的基本数据类型
static Integer valueOf(String s)
作用是将字符串转成Integer对象
注意:将字符串转成基本数据类型时,有可能出现运行时异常:
java.lang.NumberFormatException
JDK1.5以后支持自动装箱和拆箱。