我现在有一串字符串是这样的”LS34-2“,现在我想抽取出”34-2“这个字符串,java用正则表达式要怎么写呢?
时间: 2024-12-08 14:14:12 浏览: 5
你可以使用Java的正则表达式(Pattern和Matcher类)来完成这个任务。下面是一个示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "LS34-2";
String regex = "(\\d+)-(\\d+)"; // 正则表达式模式匹配三位数字减去两位数字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) { // 如果找到匹配的部分
String extracted = matcher.group(1) + "-" + matcher.group(2); // 提取两个捕获组
System.out.println(extracted); // 输出 "34-2"
} else {
System.out.println("无法提取");
}
}
}
```
在这个例子中,`"(\\d+)-(\\d+)"` 匹配一个由一个或多个数字组成的子串(第一组),接着是一个连字符 `-`,然后是另一个由一到多个数字组成的子串(第二组)。`group(1)` 和 `group(2)` 分别获取这两个匹配的部分。
阅读全文