正则表达式
转义字符
转移字符 | 解释 |
---|---|
\n | 匹配换行符 |
\r | 匹配回车符 |
\t | 匹配制表符 |
\w | 匹配一个字母或数字或下划线 |
\W | 匹配一个不满足\w的字符 |
\s | 匹配一个空白字符,包括空格,tab |
\S | 匹配一个非空白字符 |
\d | 匹配一个数字 |
\D | 匹配一个非数字 |
\ | 匹配 \ |
回车与换行
回车指回到这行的开头
换行指换到下一行
不同操作系统中, \n 与 \r 的含义不同:
WIN系统下,这两个字符就是表现的本义
UNIX系统下,\n 表现为光标下一行并回到行首
MAC OS下,\r 表现为回到本行开头并往下一行
软回车和硬回车
硬回车就是用 Enter产生的,它在换行的同时也起着段落分隔的作用。
软回车是用 Shift + Enter 产生的,它换行,但是仍属于一段。
硬回车的html代码是\(<p>\)..\(</p>\),而软回车是:\(<br>\)..\(</br>\)。
网页的文字如果复制到word中,则硬回车变为弯曲的箭头,软回车变为向下的箭头。
字符集
字符集 | 解释 |
---|---|
[0-9] | 匹配一个数字 |
[a-z] | 匹配小写字母 |
[A-Z] | 匹配大写字母 |
[abc] | 匹配abc中的一个字符(这是一个示例,[]里面可以放任意字符,转义字符也可以) |
[^abc] | ^ 表示非 匹配abc以外的一个字符 |
量词
量词 | 饥饿时 |
---|---|
匹配m~n次 | |
匹配m次 | |
匹配m次或多次 | |
? | 匹配0次或1次 |
+ | 匹配1次或多次 |
* | 匹配0次或多次 |
Java正则使用
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);
matcher.matches(); // 匹配全串
matcher.find(); // 匹配部分,但是下一次find()是从上一次find()的后面开始
matcher.lookingAt(); // 匹配部分,每一次都是从串首开始
matcher.reset(); //重置匹配器,使其从起始位置开始
matcher.group() //将所有匹配项全部提取
matcher.group(0) //将所有匹配项全部提取
matcher.group(1) //提取匹配项第一个括号
matcher.group(2) //提取匹配项第二个括号