我想生成一个正则表达式,用于从用逗号分隔的标记中提取字符串标记。
例如:'ad2&fs'df','sdfsg34fb5bg','rfrg#d,fg'
在这里,我想获得以下令牌:
ad2&fs'df
sdfsg34fb5bg
rfrg#d,fg
令牌可以包含字母,数字和特殊字符,包括逗号和撇号(单引号)。
答案 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
希望这会有所帮助。