21xrx.com
2025-03-23 11:48:48 Sunday
文章检索 我的文章 写文章
Java正则表达式提取数字的方法
2023-06-23 04:31:18 深夜i     --     --
Java 正则表达式 提取 数字 方法

在Java程序开发中,正则表达式是非常常用的工具之一。利用正则表达式可以提取各种形式的字符串中的特定内容,如数字、电话号码、邮件地址等。其中,提取数字也是最为常见的需求之一。在本文中,我们将介绍Java正则表达式提取数字的方法。

Java正则表达式是由一系列字符构成的模式,用于匹配和搜索字符串。提取数字的正则表达式可以通过多种方式实现,下面是一些常见的方法:

1.匹配所有数字字符

\d

\d匹配任何数字字符,包括0-9之间的数字、Unicode数字字符、数字字符所代表的中文数字等。

示例代码:

String text = "abc123def456";

Pattern pattern = Pattern.compile("\\d+");

Matcher matcher = pattern.matcher(text);

while (matcher.find()) {

  System.out.println(matcher.group());

}

输出:

123

456

2.匹配指定范围的数字字符

[0-9]

[0-9]匹配所有0-9之间的数字字符。

示例代码:

String text = "abc123def456";

Pattern pattern = Pattern.compile("[0-9]+");

Matcher matcher = pattern.matcher(text);

while (matcher.find()) {

  System.out.println(matcher.group());

}

输出:

123

456

3.匹配数字字符和小数点

[0-9\\.]+

[0-9\\.]+匹配所有0-9之间的数字字符和小数点(.)。

示例代码:

String text = "abc123.45def456.78";

Pattern pattern = Pattern.compile("[0-9\\.]+");

Matcher matcher = pattern.matcher(text);

while (matcher.find()) {

  System.out.println(matcher.group());

}

输出:

123.45

456.78

4.匹配指定位数的数字

\d{2}

\d{2}匹配两位数字,可以根据实际需求修改数字位数。

示例代码:

String text = "abc123def45";

Pattern pattern = Pattern.compile("\\d{2}");

Matcher matcher = pattern.matcher(text);

while (matcher.find()) {

  System.out.println(matcher.group());

}

输出:

12

34

5

5.匹配货币金额(含小数点)

\\$\\d+(\\.\\d{2})?

\\$\\d+(\\.\\d{2})?匹配以美元符号$开头的货币金额,包括整数和小数部分。

示例代码:

String text = "abc $123.45 def $56 ghi $789";

Pattern pattern = Pattern.compile("\\$\\d+(\\.\\d{2})?");

Matcher matcher = pattern.matcher(text);

while (matcher.find()) {

  System.out.println(matcher.group());

}

输出:

$123.45

$56.00

$789.00

以上就是Java正则表达式提取数字的一些常用方法。根据具体需求和实际情况,可以结合使用不同的匹配模式和修饰符,以达到最佳的提取效果。

  
  

评论区