java如何通过正则表达式完成如下任务: 将字母或 数字开头的字符串截取数字(包含数字)之前的。

如:A123B--》A123BC123--》BC123AS123BV--》AS123123V--》123123--》123AS12VV33BV--》AS12VV33... 如:
A123B --》A123
BC123 --》BC123
AS123BV --》AS123
123V --》123
123 --》123
AS12VV33BV --》AS12VV33
展开
 我来答
dwler122809
2012-05-26
知道答主
回答量:1
采纳率:0%
帮助的人:2.8万
展开全部
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ttts {
public static void main(String... strs) {
String str = "VVV4BC3233BBB";
System.out.println(getStrings(new StringBuilder(),str));
}

public static String getStrings(StringBuilder sb,String str) {
if (str == null)return "";
if (str.equals(""))return sb.toString();
Pattern p = Pattern.compile("[a-zA-Z]*[0-9]*");
Matcher m = p.matcher(str);
if (m.find()) {
String group = m.group();
sb.append(group);
String subStr = str.substring(group.length());
Pattern pattern = Pattern.compile(".*\\d+.*");
if (pattern.matcher(subStr).matches()) {
getStrings(sb,str.substring(group.length()));
}
}
return sb.toString();
}
}
疏狂山人
2012-05-26 · TA获得超过1940个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:226万
展开全部
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
public static boolean check(String str,String regex){
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(str);
boolean result =m.find();
return result;
}
public static String getSubString(String s){
int m = -1;
int length = s.length();
if(s!=null&&!"".equals(s.trim())){
for(int i=length-1;i>0;i--){
char c = s.charAt(i);
boolean b = check(c+"", "\\d");
if(b){
m = i;
break;
}
}
}
String result = "";
if(m!=-1){
result = s.substring(0,m+1);
}
return result;
}
public static void main(String args[]) throws IOException {
String s = "AS12VV33BV";
System.out.println(getSubString(s));
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
同创青衫故人
2012-05-26 · 贡献了超过114个回答
知道答主
回答量:114
采纳率:0%
帮助的人:27.3万
展开全部
好复杂的说
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
追求进步老男孩
2012-05-26 · 超过11用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:41.8万
展开全部
^/0-9/g
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友845f74e61
2012-05-27 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1716万
展开全部
你是想用一个正则表达式找出来?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式