记录些需要牢记的知识点,老规矩直接上整理好的打印版本,方便打印成A4纸随时随地的翻翻看。
正则表达是类地址 :java.util.regex.Pattern
专门用于对字符串的操作。
规则是由符号组成的。用于操作字符串变的简单。
弊端:阅读性降低了。
正则表达是其实就是一些符号,哪么让我们记下来下面的这些符号吧
字符 | 匹配 | 描述 |
x | 字符x | 任意符号 |
\\ | 反斜线 | 需要转义所以是\\两个 |
[] | 范围 | 字符的取值范围 |
{} | 次数 |
|
() | 组 | \\1就代表第1组\\2代表第2组 |
字符 |
|
|
[abc] or [a-c] |
|
|
|
|
|
预定义字符 |
|
|
. |
| 任意 |
\d | 数字:[0-9] |
|
\D | 非数字:[^0-9] |
|
\s | 空白字符串:[\t\n\x0B\f\r] |
|
\S | 非空白 |
|
\w | 单词字符:[a-zA-z_0-9] |
|
\W | 非单词字符 |
|
边界匹配器 |
|
|
~ | 行开头 |
|
$ | 行的结尾 |
|
\b | 单词边界 |
|
\B | 非单词边界 |
|
数量词 |
|
|
X? | X,一次或一次也没有 |
|
X* | X,零次或多次 |
|
X+ | X,一次或多次 |
|
{5,} | 至少出现5次,不封顶 |
|
{5,10} | 出现5到10次 |
|
正则的大概用处如下,
1.匹配
String 下面有一个方法matches
2.切割
String 下面有一个方法split
3.替换
String 下面有一个方法replaceAll 、replaceFirst
4.获取
1.将字符串规则封装成Pettern对象。
2.通过正则对象获取匹配器对象。用匹配器对象将正则规则作用到要操作的字符串上
3.通过匹配器对象的方法 对字符串进行操作
获取不是依赖于String类下面的方法,所以贴上一个小例子一枚帮助理解
//要求取出代码里面所有的爱字
String haha="爱你的心永不停止爱爱"; //字符串
String regex ="爱"; //正则
Pattern pt = Pattern.compile(regex); //正则对象
Matcher mt = pt.matcher(haha); //匹配器对象
while(mt.find()){
System.out.println(mt.start()+"."+mt.group()+"."+mt.end());
}