import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(│?\\s{3,})*[├└]─{2} ";
final String string = "├── Blog\n"
+ "│ └── _v_images\n"
+ "├── Essay\n"
+ "│ └── Encryption&Trust\n"
+ "├── Hidden\n"
+ "│ └── _v_images\n"
+ "├── Life\n"
+ "│ ├── Cuisine\n"
+ "│ ├── Game\n"
+ "│ ├── Ideas\n"
+ "│ ├── Linguistic\n"
+ "│ │ └── English\n"
+ "│ └── Music\n"
+ "├── Other\n"
+ "│ └── _v_images\n"
+ "├── PWN\n"
+ "│ └── _v_images\n"
+ "├── Programme\n"
+ "│ └── _v_images\n"
+ "├── Work\n"
+ "│ ├── Database\n"
+ "│ ├── GUI\n"
+ "│ │ └── CSS\n"
+ "│ ├── Language\n"
+ "│ │ └── DocString\n"
+ "│ │ └── __pycache__\n"
+ "│ ├── Network\n"
+ "│ ├── OS\n"
+ "│ │ ├── Android\n"
+ "│ │ │ ├── BuildTools\n"
+ "│ │ │ ├── DevTools\n"
+ "│ │ │ ├── Permissions\n"
+ "│ │ │ ├── PropertiesLogs\n"
+ "│ │ │ ├── Signer\n"
+ "│ │ │ │ ├── META-INF\n"
+ "│ │ │ │ └── webview\n"
+ "│ │ │ │ ├── META-INF\n"
+ "│ │ │ │ ├── assets\n"
+ "│ │ │ │ │ └── stored-locales\n"
+ "│ │ │ │ │ └── weblayer\n"
+ "│ │ │ │ ├── lib\n"
+ "│ │ │ │ │ ├── arm64-v8a\n"
+ "│ │ │ │ │ └── armeabi-v7a\n"
+ "│ │ │ │ └── res\n"
+ "│ │ │ │ ├── anim\n"
+ "│ │ │ │ ├── anim-v21\n"
+ "│ │ │ │ ├── animator\n"
+ "│ │ │ │ ├── animator-v21\n"
+ "│ │ │ │ ├── color\n"
+ "│ │ │ │ ├── color-v21\n"
+ "│ │ │ │ ├── color-v23\n"
+ "│ │ │ │ ├── drawable\n"
+ "│ │ │ │ ├── drawable-hdpi-v4\n"
+ "│ │ │ │ ├── drawable-ldrtl-hdpi-v17\n"
+ "│ │ │ │ ├── drawable-ldrtl-v17\n"
+ "│ │ │ │ ├── drawable-ldrtl-xhdpi-v17\n"
+ "│ │ │ │ ├── drawable-ldrtl-xxhdpi-v17\n"
+ "│ │ │ │ ├── drawable-ldrtl-xxxhdpi-v17\n"
+ "│ │ │ │ ├── drawable-night-hdpi-v8\n"
+ "│ │ │ │ ├── drawable-night-v8\n"
+ "│ │ │ │ ├── drawable-night-xhdpi-v8\n"
+ "│ │ │ │ ├── drawable-night-xxhdpi-v8\n"
+ "│ │ │ │ ├── drawable-night-xxxhdpi-v8\n"
+ "│ │ │ │ ├── drawable-v21\n"
+ "│ │ │ │ ├── drawable-v23\n"
+ "│ │ │ │ ├── drawable-v4\n"
+ "│ │ │ │ ├── drawable-xhdpi-v4\n"
+ "│ │ │ │ ├── drawable-xxhdpi-v4\n"
+ "│ │ │ │ ├── drawable-xxxhdpi-v4\n"
+ "│ │ │ │ ├── font\n"
+ "│ │ │ │ ├── interpolator\n"
+ "│ │ │ │ ├── interpolator-v21\n"
+ "│ │ │ │ ├── layout\n"
+ "│ │ │ │ ├── layout-land\n"
+ "│ │ │ │ ├── layout-v21\n"
+ "│ │ │ │ ├── layout-v22\n"
+ "│ │ │ │ ├── layout-v26\n"
+ "│ │ │ │ ├── menu\n"
+ "│ │ │ │ ├── raw\n"
+ "│ │ │ │ └── xml\n"
+ "│ │ │ └── UID\n"
+ "│ │ └── Linux\n"
+ "│ ├── Presentation\n"
+ "│ │ ├── Diagram\n"
+ "│ │ ├── Slides\n"
+ "│ │ │ └── images\n"
+ "│ │ └── Writing\n"
+ "│ ├── Project\n"
+ "│ ├── RE\n"
+ "│ ├── Service\n"
+ "│ ├── Tool\n"
+ "│ │ ├── Diff\n"
+ "│ │ ├── File\n"
+ "│ │ ├── Frida\n"
+ "│ │ │ └── scripts\n"
+ "│ │ ├── Git\n"
+ "│ │ ├── IO\n"
+ "│ │ ├── Shell\n"
+ "│ │ └── Text\n"
+ "│ └── Virtualization\n"
+ "│ └── Docker\n"
+ "└── 随笔\n"
+ " └── _v_images";
final Pattern pattern = Pattern.compile(regex);
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