import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<type>.{1})(?<user_access>.{3})(?<group_access>.{3})(?<other_access>.{3}) +(?<oder>[0-9]*) +(?<owner>[a-z]*) +(?<group>[a-z]*) +(?<size>\\d*) +(?<month>[a-z]{3}) +(?<day>\\d{1,2}) +(?<year>\\d{0,4})(?<time>(?<hour>\\d{2}):(?<minute>\\d{2}))? +(?<filename>(?<basename>.+)\\.(?<extension>.*)|(?<no_extension_filename>.*))";
final String string = "total 80\n"
+ "drwxr-xr-x 2 root root 4096 Sep 23 15:20 bin\n"
+ "drwxr-xr-x 3 root root 4096 Sep 3 18:41 boot\n"
+ "drwxr-xr-x 3 root root 4096 Aug 19 20:48 build\n"
+ "drwxr-xr-x 14 root root 3900 Sep 23 15:20 dev\n"
+ "drwxr-xr-x 98 root root 4096 Sep 23 15:20 etc\n"
+ "drwxr-xr-x 4 root root 4096 Oct 6 2014 home\n"
+ "drwxr-xr-x 21 root root 4096 Aug 21 19:49 lib\n"
+ "drwxr-xr-x 2 root root 4096 Jul 8 13:21 lib64\n"
+ "drwx------ 2 root root 16384 Aug 26 2014 lost+found\n"
+ "drwxr-xr-x 2 root root 4096 Aug 26 2014 media\n"
+ "drwxr-xr-x 2 root root 4096 Apr 10 2014 mnt\n"
+ "drwxr-xr-x 2 root root 4096 Aug 26 2014 opt\n"
+ "dr-xr-xr-x 133 root root 0 Sep 23 15:20 proc\n"
+ "drwx------ 4 root root 4096 Sep 23 15:27 root\n"
+ "drwxr-xr-x 22 root root 760 Sep 23 17:40 run\n"
+ "drwxr-xr-x 2 root root 12288 Sep 23 15:20 sbin\n"
+ "drwxr-xr-x 2 root root 4096 Aug 26 2014 srv\n"
+ "dr-xr-xr-x 13 root root 0 Sep 23 15:20 sys\n"
+ "drwxrwxrwt 2 root root 4096 Sep 23 17:40 tmp\n"
+ "drwxr-xr-x 10 root root 4096 Aug 26 2014 usr\n"
+ "drwxr-xr-x 14 root root 4096 Aug 21 19:52 var\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
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