当前位置:首页 > Java

java 如何使用正则

2026-03-21 10:39:12Java

正则表达式基础语法

Java中的正则表达式基于java.util.regex包实现,核心类是PatternMatcher。基本语法与其他语言类似:

  • \d匹配数字,\w匹配单词字符(字母、数字、下划线)
  • [abc]匹配a、b或c中的任意一个字符
  • ^匹配行首,$匹配行尾
  • *表示0次或多次,+表示1次或多次,?表示0次或1次

创建Pattern对象

通过Pattern.compile()方法编译正则表达式:

Pattern pattern = Pattern.compile("\\d+"); // 匹配一个或多个数字

注意Java字符串中需要对反斜杠进行转义,因此\d需写成\\d

使用Matcher进行匹配

通过matcher()方法创建Matcher对象进行匹配操作:

Matcher matcher = pattern.matcher("123abc");
boolean isMatch = matcher.find(); // 返回true,因为字符串包含数字
String matchedText = matcher.group(); // 返回"123"

常用匹配方法

matches():整个字符串完全匹配正则

boolean fullMatch = "123".matches("\\d+"); // true

find():查找下一个匹配的子串 group():获取当前匹配的子串 replaceAll():替换所有匹配项

String result = "a1b2".replaceAll("\\d", "-"); // 结果为"a-b-"

分组捕获

使用圆括号()创建捕获组:

Pattern p = Pattern.compile("(\\d+)-(\\w+)");
Matcher m = p.matcher("123-abc");
if (m.matches()) {
    String part1 = m.group(1); // "123"
    String part2 = m.group(2); // "abc"
}

边界匹配

\b匹配单词边界:

Pattern.compile("\\bcat\\b").matcher("cat category").find(); // 只匹配第一个"cat"

预编译优化

对于频繁使用的正则表达式,建议预编译Pattern对象:

private static final Pattern EMAIL_PATTERN = 
    Pattern.compile("^[\\w.-]+@[\\w.-]+\\.[a-z]{2,6}$", Pattern.CASE_INSENSITIVE);

特殊字符处理

当正则中包含特殊字符时,使用Pattern.quote()进行转义:

java 如何使用正则

String literal = Pattern.quote("$5.00"); // 转义为"\Q$5.00\E"

分享给朋友:

相关文章

uniapp中如何使用iconfont

uniapp中如何使用iconfont

使用 Iconfont 在 Uniapp 中的步骤 下载 Iconfont 资源 访问 Iconfont 官网,选择需要的图标并添加到项目。下载时选择 Font class 格式,解压后会得到 .tt…

如何使用 react native

如何使用 react native

安装开发环境 确保已安装 Node.js(建议使用 LTS 版本)。通过以下命令安装 React Native 命令行工具: npm install -g expo-cli 或使用 Yarn: y…

react 如何使用canvas

react 如何使用canvas

使用 Canvas 在 React 中的方法 基本用法 在 React 中使用 canvas 需要通过 useRef 或 createRef 获取 DOM 节点。以下是一个简单的示例: im…

react refs 如何使用

react refs 如何使用

React Refs 的基本概念 Refs 是 React 提供的一种访问 DOM 节点或 React 组件实例的方式。通常在 React 的数据流中,父子组件通过 props 进行通信,但在某些情况…

vue正则实现注册登录

vue正则实现注册登录

实现注册登录的正则验证 在Vue中实现注册登录功能时,正则表达式常用于验证用户输入的有效性。以下是常见的验证场景和对应的实现方法。 用户名验证 用户名通常要求包含字母、数字或下划线,长度在3-16个…

react激光如何使用

react激光如何使用

安装React激光库 在项目中安装React激光库,通常通过npm或yarn完成。确保项目已初始化并具备React环境。 npm install react-laser-beam # 或 yar…