50,523
社区成员
发帖
与我相关
我的任务
分享
var str="sh -c 'ls / -lh'";
var regex=/('[^']*'|"[^"]*")|\s+/m;
var result=str.split(regex).filter(function(ele){
if(ele){
return ele;
}
});
public static void main(String[] args) {
String input = "sh -c 'ls / -lh'\"hha lk\"";
List<String> result=splitStr(input);
System.out.println(result);
}
public static List<String> splitStr(String input){
String regex="'[^']*'|\"[^\"]*\"|\\S+";
Matcher m=Pattern.compile(regex, Pattern.MULTILINE).matcher(input);
List<String> list=new ArrayList<String>();
while(m.find()){
list.add(m.group());
}
return list;
}