正则表达式
一、概念
正则表达式,又称规则表达式(Regular Expression)。通常被用来检索、替换符合某个模式(规则)的文本。
二、正则表达式的规则
正则表达式在java中主要涉及到两类,Pattern和Matcher。
java.util.regex.Pattern类的实例,主要是作用是给正则表达式一个匹配模式。在java里正则表达式是一个字符串,字符串的能力是非常有限的,因此在java里需要Pattern实例来包装这个正则表达式。
java.util.regex.Matcher类的实例,作用是增加表达式匹配字符串的权力,调用Matcher实例的方法,正则表达式可以匹配整个字符串。
Pattern的构造函数是私有的,不能通过new来直接创建,所以通过静态方法compile(String regex)方法来创建,将给定的正则表达式编译并赋予给Pattern类。
String regex = "abcd";
Pattern p = Pattern.compile(regex);
| 字符的取值范围 | 描述 |
|---|---|
| [abc] | 表示abc中任意一个 |
| [^abc] | 表示不是abc中任意一个 |
| [a-zA-Z] | 表示大小写的英文字母 |
| [0-9] | 表示是数字 |
| 数量表达式 | 描述 |
|---|---|
| ? | 表示出现0或1次 |
| + | 表示出现1或多次 |
| * | 表示出现0、1或多次 |
| 表示出现n次 | |
| 表示出现n-m次 | |
| 表示出现n次以上 |
| 简洁的字符表示 | 描述 |
|---|---|
| . | 表示任意的字符 |
| \d | 表示数字 |
| \D | 表示非数字 |
| \s | 表示由空字符组成 |
| \S | 表示由非空字符组成 |
| \w | 表示字母、数字、下划线 |
| \W | 表示不是由字母数组下划线组成 |
| 逻辑表达式 | 描述 |
|---|---|
| XY | 表示X后面跟着Y |
| X|Y | 表示X或Y |
| (X) | 将X看作一个整体 |
三、正则验证
验证一
- 定义正则表达式:Pattern p = Pattern.compile(String regex);
- 表达式的模式:Matcher m = p.matcher("需要匹配的数据");
- 验证:m.matches();
验证二
验证:boolean matches(String regex);
拆分:String[] split (String regex);
替换:String replaceAll(String regex, String replacement)


浙公网安备 33010602011771号