Java正则表达式匹配负数

正则表达式是一种用于匹配字符串模式的强大工具。在Java中,我们可以使用正则表达式来匹配和提取负数。

负数的正则表达式模式

负数的一般表达式模式为:负号(可选)+ 数字部分。

根据这个模式,我们可以使用以下正则表达式来匹配负数:

String pattern = "-?\\d+";

这个正则表达式的含义是:一个可选的负号后面跟着一个或多个数字。

示例代码

下面是一个示例代码,演示了如何使用Java正则表达式来匹配和提取负数:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class NegativeNumberMatcher {
    public static void main(String[] args) {
        String input = "The temperature is -10 degrees Celsius. The stock market is down -2.5%.";
        String pattern = "-?\\d+";

        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(input);

        while (m.find()) {
            String match = m.group();
            System.out.println("Negative number found: " + match);
        }
    }
}

在这个示例中,我们使用了一个包含负数的字符串作为输入,然后使用正则表达式模式来匹配负数。通过使用Pattern类和Matcher类,我们可以找到所有匹配的负数并打印出来。

输出如下:

Negative number found: -10
Negative number found: -2.5

正则表达式解析

现在让我们来解析一下这个正则表达式的具体含义:

  • -?:这个部分表示一个可选的负号。-代表负号,?表示它是可选的。
  • \\d+:这个部分表示一个或多个数字。\\d表示一个数字,+表示它可以重复一次或多次。

饼状图

下面是一个使用mermaid语法生成的简单饼状图,展示了正数和负数的分布情况:

pie
  title Number Distribution
  "Positive Numbers" : 70.0
  "Negative Numbers" : 30.0

结论

通过使用Java正则表达式,我们可以方便地匹配和提取负数。在本文中,我们介绍了如何使用正则表达式模式来匹配负数,并提供了示例代码和解析说明。希望这篇文章能帮助你更好地理解和使用Java正则表达式。