正则表达式(2)
一、原子的概念:
正则表达式的组成单元,只要一个正则表达式可以单独使用的字符就是原子。
二、原子的分类
a.所有可以显示的字符或非打印的字符
b. ./?/*/+等都是有特殊意义的字符,想作为原子使用必须用\\转义
如:\\. \\? \\* \\+
c.在正则表达式中可以直接使用一些范围的原子
\\d 表示任意的一个十进制数字,等价于[0-9]
\\D 表示任意的一个除数字以外的字符
\\s 表示一个任意的空白字符空格,等价于 [\n\r\t\f]
\\S 表示一个非空白
\\w 表示任意的一个字母数字和下划线a-zA-Z0-9_ 等同于[a-zA-Z0-9_]
\\W 表示非a-zA-Z0-9_ 等同于[^a-zA-Z0-9_]
d.自定义原子
[0-9] 代表0-9中的任意一个数
[a-z0-9] 代表字符和数字任意一个
[^0-9] 非数字 在[]中,^代表“非” 如[^a-zA-Z0-9]
三、元字符的概念
用来修饰原子用的,不能单独出现。
四、元字符的分类
*:表示原子可以出现0次1次或则多次,等效于{0,}
+:表示原子可以出现1次或者多次{1,}
?:表示原子可以出现0次或则1次{0,1}
.:表示出换行之外的任意字符
{}用于自定义原子出现的次数
{m} 表示出现m次
{m,}表示至少出现m次
{m,n} 表示出现m到n次
^:表示必须以什么开头
$:表示必须以什么结尾
|:表示或的关系
五、关于正则表达式模式的类
Pattern 方法1:complie(正则表达式r) 方法2:split(字符串) 对当前字符串用r分割
Matchar 方法1.pattern.matcher(字符串) 匹配字符串 方法2:find() 看是否有匹配,有则返回true 方法3:group() 返回一个分割后的数组
String matches 、split