import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class BLA { public static final String BLA_PATTERN = "\"([^\"]+?)\",?|([^,]+),?|,"; private static Pattern blaRE; public BLA() { blaRE = Pattern.compile(BLA_PATTERN); } public List parse(String line) { List list = new ArrayList(); Matcher m = blaRE.matcher(line); while (m.find()) { // do stuff } return list; } }