求正则表达式 有一串字符,中间存在如果“,”,能否使用正则匹配出中间某两个“,”之间的数据。例如“abc,defg,bcda,fegd,fdaas,fdafa”,匹配第3、4个“,”之间的字符“fegd”。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args) { String str = "abc,defg,bcda,fegd,fdaas,fdafa"; Matcher m = Pattern.compile(".*?,.*?,.*?,(.*?),.*").matcher(str); if (m.find()) { System.out.println(m.group(1)); } } 为什么不直接split(",")进行分割 str = str.replaceAll(".*?,.*?,.*?,(.*?),.*", "$1");也可以 split固然可以。但是如果需要使用正则式,该如何解决呢? String str = "abc,defg,bcda,fegd,fdaas,fdafa";System.err.println(str.replaceAll("[^,]+,[^,]+,[^,]+,", "").replaceAll(",.+", "")); 求教一个关于队的应用的编程题目 好心的前辈请帮帮忙,我有个问题不理解 我很费解 光标自动走位问题 如何让frame的大小固定,不能被用户改变? 汗。。。请问怎么往文件里写一个双引号(") 急急急!!!如何控制鼠标不能点击屏幕上的其他窗体??? java解释器的问题 java socket问题! 我用JDK中的javac命令编译一个test.java。系统提示不能打开test.java该文件!!! java main 方法传值问题 如何在Mac系统下安装Oracle?
public static void main(String[] args) {
String str = "abc,defg,bcda,fegd,fdaas,fdafa";
Matcher m = Pattern.compile(".*?,.*?,.*?,(.*?),.*").matcher(str);
if (m.find()) {
System.out.println(m.group(1));
}
}
str = str.replaceAll(".*?,.*?,.*?,(.*?),.*", "$1");
也可以
String str = "abc,defg,bcda,fegd,fdaas,fdafa";
System.err.println(str.replaceAll("[^,]+,[^,]+,[^,]+,", "").replaceAll(",.+", ""));