字符取值范围
字符 | 描述 |
---|
[xyz] | 字符集合,匹配所包含的任意一个字符 |
[^xyz] | 负值字符集合,匹配未包含的任意字符 |
[a-z] | 字符范围,匹配指定范围内的任意字符,[a-z] 匹配所有小写字母,[A-Z] 匹配所有大写字母,[a-zA-Z] 匹配所有字母 |
[^a-z] | 负值字符范围,匹配任何不在指定范围内的任意字符 |
数量表达式
字符 | 描述 |
---|
* | 匹配前面的子表达式零次或多次 |
? | 匹配前面的子表达式零次或一次 |
+ | 匹配前面的子表达式一次或多次 |
{n} | 匹配确定的n次 |
{n,} | 至少匹配n次 |
{n,m} | 最少匹配n次且最多匹配m次 |
简洁字符
字符 | 描述 |
---|
. | 匹配除换行符(\n、\r)之外的任何单个字符 |
\d | 匹配一个数字字符 |
\D | 匹配一个非数字字符 |
\w | 匹配包括下划线的任何单词字符,类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集 |
\W | 匹配任何非单词字符,等价于“[^A-Za-z0-9_]” |
逻辑表达式
字符 | 描述 |
---|
\ | 转义字符 |
^ | 只匹配以xxx字符开头的,例如 ^Handler 匹配以Handler开头的 |
$ | 匹配以xxx字符结尾的,例如 Handler$ 匹配以Handler结尾的 |
x|y | 匹配x或y |
( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 ) |
基本使用
String content="I am noob from runoob.com";
String pattern=".*runoob.*";
content.matches(pattern);
boolean isMatch=Pattern.matches(pattern, content);
Pattern.group(2)