java正则表达式截取号码
时间: 2025-01-03 13:41:53 浏览: 8
### 使用Java正则表达式提取号码
在Java中,可以利用`java.util.regex.Pattern`类和`Matcher`类配合使用来实现从字符串中提取特定模式的内容。对于提取数字的任务来说,可以通过定义合适的正则表达式模式并应用到目标字符串上来完成。
下面是一个具体的例子,展示如何通过Java代码提取给定字符串中的所有整数:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractNumbers {
public static void main(String[] args) {
String text = "My 2 favorite numbers are 19 and 42";
Pattern p = Pattern.compile("[0-9]+");
Matcher m = p.matcher(text);
List<String> foundNumbers = new ArrayList<>();
while (m.find()) {
foundNumbers.add(m.group());
}
System.out.println(foundNumbers); // 输出: [2, 19, 42]
}
}
```
上述程序创建了一个用于匹配连续数字序列的正则表达式模式"[0-9]+"[^2]。此模式会寻找由一位或多位于十进制下的阿拉伯数字组成的子串。接着,该模式被编译成`Pattern`对象,并与输入文本一起传递给了`Matcher`实例。最后遍历所有的匹配项并将它们收集在一个列表里打印出来。
阅读全文