正则表达式

一、概念

​ 正则表达式,又称规则表达式(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次
{n,m} 表示出现n-m次
{n,} 表示出现n次以上
简洁的字符表示 描述
. 表示任意的字符
d 表示数字
D 表示非数字
s 表示由空字符组成
S 表示由非空字符组成
w 表示字母、数字、下划线
W 表示不是由字母数组下划线组成
逻辑表达式 描述
XY 表示X后面跟着Y
X|Y 表示X或Y
(X) 将X看作一个整体

三、正则验证

验证一

  1. 定义正则表达式:Pattern p = Pattern.compile(String regex);
  2. 表达式的模式:Matcher m = p.matcher("需要匹配的数据");
  3. 验证:m.matches();

验证二

验证:boolean matches(String regex);

拆分:String[] split (String regex);

替换:String replaceAll(String regex, String replacement)

原文地址:https://www.cnblogs.com/qqkkOvO/p/14050233.html