文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、正则表达式是什么?
正则表达式(Regular Expression, 简称 regex 或 regexp)是一种用来描述和匹配字符串模式的工具。由字符和特殊元字符组成,可以用来查找、验证、提取、替换文本中的特定模式。
二、字符
正则表达式中的“字符”是指直接匹配字符串中的单个字符。字符可以分为:数字、字母、标点等。
代码如下(示例):
// 字符直接匹配文本中的对应字符,字符匹配返回true,不匹配返回false
String str = "a";
boolean matches = str.matches("a");
System.out.println(matches); // 输出 true
System.out.println("a".matches("b")); //输出 false
三、字符组
字符组式正则表达式最基本的结构之一,字符组是由一组字符组成的字符集合。
字符组的基本语法
字符组的语法是将字符放在方括号 []
中,如 [abc]、[321]。
String str = "a";
// [abc]:匹配字符 a、b 或 c 中的任意一个字符,匹配成功返回true,反之返回false
boolean matches = str.matches("[abc]");
System.out.println(matches);// 输出 true
System.out.println("a".matches("[123]"));// 输出 false
范围表示法(range)
范围表示法是指在字符组中使用连字符 -
来定义字符的范围。用 [x-y]的形式表示 x 到 y 整个范围。这样可以简化正则表达式的书写:[0123456789] 等价于 [0-9] 。
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[0-9] 匹配数字
[0-9a-zA-Z] 匹配数字、小写字母或大写字母
[0-9a-fA-F] 匹配数字,大、小写字母形式的a~f,用来匹配任何十六进制字符