用逗号分隔的字符串的java代码中的正则表达式用单引号

时间:2015-09-15 08:12:56

标签: java regex

我想生成一个正则表达式,用于从用逗号分隔的标记中提取字符串标记。

例如:'ad2&fs'df','sdfsg34fb5bg','rfrg#d,fg'

在这里,我想获得以下令牌:

ad2&fs'df
sdfsg34fb5bg
rfrg#d,fg

令牌可以包含字母,数字和特殊字符,包括逗号和撇号(单引号)。

2 个答案:

答案 0 :(得分:0)

这可能有所帮助。

public static void main(String args[]) throws Exception {
    String s=  "'ad2&fs'df','sdfsg34fb5bg','rfrg#d,fg'";
    System.out.println(Arrays.toString(s.split("','|^'|'$")));
}

O / P:

[, ad2&fs'df, sdfsg34fb5bg, rfrg#d,fg]

由于第一个',此代码将在索引0处为您提供额外的空字符串。你可以忽略它

答案 1 :(得分:0)

//使用这个简单的正则表达式

public static void main(String[] args) {

    String s = "'ad2&fs'df','sdfsg34fb5bg','rfrg#d,fg'";
    Pattern pattern = Pattern.compile("'(.*)','(.*)','(.*)'");
    Matcher matcher = pattern.matcher(s);
    boolean match = matcher.matches();

    System.out.println(matcher.group(1));
    System.out.println(matcher.group(2));
    System.out.println(matcher.group(3));
}

}

输出如下

AD2&安培; fs'df

sdfsg34fb5bg

RFRG#d,FG

希望这会有所帮助。