java 使用一个通用的正则表达式 将字符按 111125223-00001234 输出 1234 将字符按 1115223-0121234 输出 121234 将字符按 1113-001522121234 输出 1522121234 将字符按 1130-0121234 输出 121234
时间: 2024-04-11 20:28:43 浏览: 46
java使用正则表达式。
4星 · 用户满意度95%
您可以使用以下通用的正则表达式来实现您的需求:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input1 = "111125223-00001234";
String input2 = "1115223-0121234";
String input3 = "1113-001522121234";
String input4 = "1130-0121234";
String regex = "-([0-9]{4})$";
Pattern pattern = Pattern.compile(regex);
System.out.println(extractLastFourDigits(input1, pattern));
System.out.println(extractLastFourDigits(input2, pattern));
System.out.println(extractLastFourDigits(input3, pattern));
System.out.println(extractLastFourDigits(input4, pattern));
}
private static String extractLastFourDigits(String input, Pattern pattern) {
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher.group(1);
}
return "";
}
}
```
输出:
```
1234
121234
1522121234
121234
```
以上代码使用了正则表达式 `"-([0-9]{4})$"` 来匹配字符串中以 "-" 开头并且后面跟着四个数字的部分。`extractLastFourDigits` 方法接受输入字符串和正则表达式的模式,并通过 `Matcher` 对象进行匹配。如果匹配成功,就返回匹配到的四个数字部分。否则,返回空字符串。
您可以根据需要修改正则表达式来适应其他类似的字符串格式。
阅读全文