我有一个字符串列表:ab10sdj,ba1wqa,cd03asce,dfasc等。我正在寻找从ab开始或用ba开头的字符串中的数字组。
因此,如果一个字符串以ab / ba开头,我需要在它们之后的数字组。如果我有办法通过java matcher / regex实现这个目的?
答案 0 :(得分:1)
抱歉发布此作为答案,但我目前的声誉级别不允许我'评论'......但是:)
由于只是回答一个相对简单的问题(不会侮辱你的智力),我可以帮助诊断解决方案。尝试一步一步地在脑海中思考问题。那就是:
您的代码一切顺利!
答案 1 :(得分:0)
您可以尝试这样的正则表达式:
public static void main(String[] args) {
// ab10sdj, ba1wqa, cd03asce, dfasc
String s1 = "ab10sdj";
String s2 = "ba1wqa";
String s3 = "cd03asce";
String s4 = "dfasc";
String pattern = "^(ab|ba)(\\d+).*";
System.out.println(s1.replaceAll(pattern, "$2")); // output 10
System.out.println(s2.replaceAll(pattern, "$2")); // output 1
System.out.println(s3.replaceAll(pattern, "$2")); // output cd03asce i.e, no change
System.out.println(s4.replaceAll(pattern, "$2")); // output dfasc i.e, no change
}