import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^\\\"\\w+\\\"\\,(?:\\\")?(?<process>([\\w|\\s|\\,|\\.|\\-|\\+]+)?)(?:\\\")?\\,\\\"(?<handles>\\d+)\\\"\\,\\\"(?<VM>[\\-\\d|\\d]+)\\\"\\,\\\"(?<WS>\\d+)\\\"\\,\\\"(?<PM>\\d+)\\\"\\,\\\"(?<NPM>\\d+)\\\"\\,(?:\\\")?(?<Path>([a-zA-Z]\\:\\\\[\\\\\\w\\s\\.\\-\\(\\)\\+|*\\w]+)?)(?:\\\")?\\,(?:\\\")?(?<Company>([\\w|\\s|\\,|\\.|\\@]+)?)(?:\\\")?\\,(?:\\\")?(?<CPU>[\\d|\\.]+)?(?:\\\")?\\,(?:\\\")?(?<FileVersion>[\\d|\\.|\\s|\\(|\\w|\\_|\\-|\\)]+)?(?:\\\")?\\,(?:\\\")?(?<ProductVersion>[\\d|\\.|\\s|\\(|\\w|\\_|\\-|\\)]+)?(?:\\\")?\\,(?:\\\")?(?<Description>[\\d|\\.|\\s|\\(|\\w|\\_|\\-|\\|\\+|\\:)]+)?(?:\\\")?\\,(?:\\\")?(?<Product>[\\w|\\s|\\®|\\+|\\(|\\)]+)?(?:\\\")?\\,(?:\\\")?(?<Id>[\\w|\\s|\\®|\\+|\\(|\\)]+)?(?:\\\")?\\,(?:\\\")?(?<PriorityClass>[\\w|\\s|\\®|\\+|\\(|\\)]+)?(?:\\\")?\\,(?:\\\")?(?<HandleCount>[\\w|\\s|\\®|\\+|\\(|\\)]+)?(?:\\\")?\\,";
final String string = "\"Process\",\"ServerManager\",\"509\",\"830853120\",\"149446656\",\"125960192\",\"31992\",\"C:\\Windows\\system32\\ServerManager.exe\",\"Microsoft Corporation\",\"140.25\",\"6.3.9600.17238 (winblue_gdr.140723-2018)\",\"6.3.9600.17238\",\"Server Manager\",\"Microsoft® Windows® Operating System\",\"18324\",\"Normal\",\"509\",\"149446656\",\"125960192\",\"125960192\",\"830853120\",\"00:02:20.2500000\",\"8\",,\"False\",,\"2200\",\"Microsoft.Win32.SafeHandles.SafeProcessHandle\",\".\",\"65976\",\"Server Manager\",\"System.Diagnostics.ProcessModule (ServerManager.exe)\",\"1413120\",\"204800\",\"System.Diagnostics.ProcessModuleCollection\",\"31992\",\"31992\",\"125960192\",\"741880\",\"741880\",\"256077824\",\"256077824\",\"279134208\",\"279134208\",\"885768192\",\"885768192\",\"True\",\"125960192\",\"00:00:27.8125000\",\"ServerManager\",\"255\",\"True\",\"1\",\"System.Diagnostics.ProcessStartInfo\",\"1/26/2020 3:22:29 PM\",,\"System.Diagnostics.ProcessThreadCollection\",\"00:01:52.4375000\",\"830853120\",\"False\",,,,\"149446656\",,";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html