正则表达式是一种用来描述文本格式的特殊语法,一个文本表达式通由普通的字符和特殊的字符组成。正则表达式是我们所需要匹配的字符串模式。

正则表达式主要用在以下一些地方:

1、搜索和替换

2、验证:检查某个字符串是否符合特定的匹配模式。例如email。电话等。

3、解释:解析就是从一个文件中获取有用信息的过程。


有关正则表达式的内容可参考java.util.regex.Pattern类。下面对常见的正则组成进行总结:

1)字符匹配:

NO  表达式描述

1 \\  表示一个\

2  字母,例如A  表示一个具体的字母

3 [abc]  表示取值可能是abc中的任一个

4 [^abc]  表示取值不是abc中的任一个

5 [a-zA-Z]  表示取全部字母(大写、小写)中的任一个

2)简短表达式:

No  表达式描述

1 \d  表示由数字组成

2 \D  表示由非数字组成

3 \s  表示有空格组成。其中包括”\n”、”\t”等

4 \S  表示有非空格组成

5 \w  表示字母、数字、下划线组成

6 \W  表示由非字母、非数字、非下划线组成

7 .  表示任意字符

3)出现的次数(放在正则的后面)

No  表达式描述

1  表示正则表达式出现0次或1

2 *  表示出现0次或多次

3 +  表示出现1次或多次

4 {n}  表示出现的长度正好是n

5 {n,}  表示出现的长度正好大于n

6 {n,m}  表示出现nm

4)关系运算:

No  表达式描述

1  正则1|正则2  或者是正则1,或者是正则2

2  (正则) 表示一组规范


通常,我们不会使用Pattern类和Matcher类来使用正则,最多的就是String类中的方法中

对正则的使用:

public boolean matches(String regex):检测此字符串是否匹配给定的正则表达式。

public String replaceAll(Stringregex,String replacement):  使用给定的 replacement

替换此字符串所有匹配给定的正则表达式的子字符串。

public String[] split(String regex):  根据给定正则表达式的匹配拆分此字符串。