当前位置:首页 > Java

java如何使用正则表达式

2026-03-03 22:32:37Java

正则表达式基础语法

Java中正则表达式通过java.util.regex包实现,主要涉及PatternMatcher类。基本元字符包括:

  • \d 匹配数字,等价于 [0-9]
  • \w 匹配单词字符(字母、数字、下划线)
  • . 匹配任意单个字符(除换行符)
  • * 匹配前一个字符0次或多次
  • + 匹配前一个字符1次或多次
  • ? 匹配前一个字符0次或1次
  • {n} 精确匹配n次
  • ^ 匹配字符串开头
  • $ 匹配字符串结尾

创建Pattern对象

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

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

使用Matcher进行匹配

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

Matcher matcher = pattern.matcher("123abc");
boolean isMatch = matcher.matches(); // 全字符串匹配
boolean findMatch = matcher.find();  // 查找子串匹配

常用匹配方法

  • matches():整个字符串必须完全匹配模式
  • find():在字符串中查找下一个匹配子串
  • group():返回匹配到的子串
  • start()/end():返回匹配位置的索引

示例代码:

String text = "订单号:12345,金额:¥888";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(text);
while (m.find()) {
    System.out.println("找到数字: " + m.group());
}

分组捕获

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

Pattern p = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
Matcher m = p.matcher("2023-05-20");
if (m.matches()) {
    System.out.println("年: " + m.group(1));  // 2023
    System.out.println("月: " + m.group(2));  // 05
    System.out.println("日: " + m.group(3));  // 20
}

字符串替换

使用replaceAll()replaceFirst()方法:

String result = "a1b2c3".replaceAll("\\d", "X");  // 输出 "aXbXcX"
String result2 = "a1b2c3".replaceFirst("\\d", "X"); // 输出 "aXb2c3"

特殊字符处理

需要转义的特殊字符包括:[ ] { } ( ) \ ^ $ | ? * + .

// 匹配真实的点号(.)需要转义
Pattern p = Pattern.compile("\\.");

预编译优化

频繁使用的正则表达式应该预编译:

private static final Pattern EMAIL_PATTERN = 
    Pattern.compile("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");

常用正则示例

  • 邮箱验证:^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$
  • 手机号验证(中国):^1[3-9]\\d{9}$
  • 身份证号验证:^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9Xx]$
  • URL提取:https?://[\\w./?=&%-]+

java如何使用正则表达式

分享给朋友:

相关文章

hashrouter如何使用react

hashrouter如何使用react

使用 HashRouter 在 React 中的方法 安装 react-router-dom 确保项目中已安装 react-router-dom,若未安装,可通过以下命令安装: npm ins…

react 如何使用 apply

react 如何使用 apply

使用 apply 方法的基本概念 在 JavaScript 中,apply 是函数原型上的方法,用于调用函数时指定 this 的值和传递参数数组。React 中可以使用 apply 来绑定组件方法或调…

react如何使用函数

react如何使用函数

使用函数组件的基本语法 在React中,函数组件是通过JavaScript函数定义的组件。函数接收props作为参数,并返回React元素。 function Welcome(props) {…

react filter如何使用

react filter如何使用

react filter 的基本用法 在 React 中,filter 通常用于筛选数组数据,常见于列表渲染或数据处理场景。filter 是 JavaScript 数组的原生方法,但在 React 中…

react如何使用axios

react如何使用axios

安装 Axios 在 React 项目中安装 Axios,可以通过 npm 或 yarn 进行安装: npm install axios 或 yarn add axios 导入 Axios 在需要…

react如何使用link

react如何使用link

使用 Link 组件进行页面导航 在 React 中,Link 是 react-router-dom 提供的组件,用于在单页应用(SPA)中实现客户端路由导航,避免页面刷新。 安装 react…