当前位置:首页 > Java

java 如何用正则表达式

2026-03-03 22:31:07Java

正则表达式基础语法

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

  • \d 匹配数字,等价于 [0-9]
  • \w 匹配字母、数字或下划线
  • \s 匹配空白字符(空格、制表符等)
  • . 匹配任意字符(除换行符外)
  • * 匹配前一个字符0次或多次
  • + 匹配前一个字符1次或多次
  • ? 匹配前一个字符0次或1次
  • {n} 匹配前一个字符恰好n次
  • ^ 匹配字符串开头
  • $ 匹配字符串结尾

创建Pattern对象

使用Pattern.compile()方法编译正则表达式:

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

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

使用Matcher匹配

通过Pattern.matcher()方法创建Matcher对象:

java 如何用正则表达式

Matcher matcher = pattern.matcher("123 abc 456");

常用Matcher方法:

  • matches():整个字符串是否匹配
  • find():查找下一个匹配项
  • group():获取当前匹配内容
  • start()/end():获取匹配位置

常用匹配示例

验证邮箱格式:

java 如何用正则表达式

String emailRegex = "^[\\w.-]+@[\\w.-]+\\.[a-z]{2,}$";
Pattern emailPattern = Pattern.compile(emailRegex, Pattern.CASE_INSENSITIVE);

提取字符串中的数字:

Pattern numPattern = Pattern.compile("\\d+");
Matcher numMatcher = numPattern.matcher("Price: 100, Quantity: 5");
while(numMatcher.find()) {
    System.out.println(numMatcher.group());
}

分组捕获

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

Pattern datePattern = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
Matcher dateMatcher = datePattern.matcher("2023-05-15");
if(dateMatcher.matches()) {
    String year = dateMatcher.group(1);  // 2023
    String month = dateMatcher.group(2); // 05
    String day = dateMatcher.group(3);   // 15
}

字符串替换

使用replaceAll()方法进行正则替换:

String text = "foo123bar456";
String replaced = text.replaceAll("\\d+", "NUM"); // "fooNUMbarNUM"

性能优化建议

  • 频繁使用的正则表达式应编译为Pattern对象并复用
  • 简单字符串操作优先使用String方法而非正则
  • 避免过度复杂的正则表达式
  • 考虑预编译模式:static final Pattern PATTERN = Pattern.compile(...)

分享给朋友:

相关文章

如何用vue实现前端

如何用vue实现前端

Vue.js 前端开发实现方法 环境搭建与项目初始化 安装 Node.js 和 npm/yarn 作为基础环境 使用 Vue CLI 创建项目:vue create project-name 选择预设…

react hooks如何用

react hooks如何用

使用 React Hooks 的基本方法 React Hooks 是 React 16.8 引入的功能,允许在函数组件中使用状态和其他 React 特性。以下是几种常用 Hooks 的用法。 use…

如何用react做项目

如何用react做项目

创建React项目 使用官方工具create-react-app快速初始化项目。确保已安装Node.js(版本≥14.0.0)和npm/yarn。 运行以下命令生成项目结构: npx creat…

如何用react写页面

如何用react写页面

创建React项目 使用create-react-app快速初始化项目,需提前安装Node.js环境。运行命令: npx create-react-app my-app cd my-app npm…

如何用react构建用户界面

如何用react构建用户界面

安装 React 环境 使用 Create React App 快速搭建项目环境,运行以下命令: npx create-react-app my-app cd my-app npm start…

如何用命令行新建react项目

如何用命令行新建react项目

使用 create-react-app 创建项目 安装最新版本的 create-react-app 工具后,在命令行运行以下命令生成新项目: npx create-react-app my-ap…