java的正则,如何一个值接住 匹配后的结果,可以sout(值)
时间: 2024-11-13 08:21:46 浏览: 9
运算符和表达式-Java基础[02-Java基础语法1]
在Java中,如果你想要匹配字符串并捕获某个模式的部分作为结果,可以使用正则表达式的组(Groups)。正则表达式中的圆括号 `()` 就是用来创建一个组的,匹配的内容会被自动放入相应的变量中。然后你可以通过 `Pattern` 和 `Matcher` 对象获取这部分匹配的结果。
这是一个简单的例子:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "Hello, my name is John Doe (age: 30)";
String regex = "(\\w+ \\w+) \\((.*)\\)";
try {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
// 第一个组(名字)和第二个组(年龄)
String firstName = matcher.group(1); // "John Doe"
String age = matcher.group(2); // "30"
// 输出结果
System.out.println("First Name: " + firstName);
System.out.println("Age: " + age);
// 如果需要直接打印整个匹配的结果,可以这样:
System.out.println("Full Match: " + matcher.group());
} else {
System.out.println("No match found.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个例子中,`sout` 应该是 `System.out.println`,我会在这里假设你是想输出匹配到的信息。上述代码中的 `matcher.group()` 就是获取整个匹配结果,而 `matcher.group(i)` 具体表示第i个组的匹配结果。
阅读全文