在Java中使用Regex.我一直试图让它发挥作用,但它每次都会抛出该死的错误.我确信它与花括号有关.
String openbrace = Pattern.quote("{");
String closebrace = Pattern.quote("}");
Pattern pattern = Pattern.compile(openbrace+"[ ]?\"(.*?)\"[ ]?,[ ]?\"(.*?)\"[ ]?"+closebrace);
Run Code Online (Sandbox Code Playgroud)
+
{ "Working", "Working" },
Run Code Online (Sandbox Code Playgroud)
=
Illegal Repetition
Run Code Online (Sandbox Code Playgroud)
编辑:我使用NetBeans 7.0与JDK 1.7
当我使用以下代码运行类时:
public static void main(String[] args)
{
createDuplicateStructure("in", "out");
}
public static void createDuplicateStructure(String path_start, String path_result)
{
File start = new File(path_start);
File result = new File(path_result);
duplicateDirectoryStructure(start, result);
}
public static void duplicateDirectoryStructure(File start_dir, File result_dir)
{
//FileFilter used by listFiles(filter) - to make sure they are dirs
FileFilter dirs_only = new FileFilter()
{
public boolean accept(File file){ return file.isDirectory();}
};
File[] dir_contents = start_dir.listFiles(dirs_only);
for(File dir : dir_contents)
{
File duplicate = new File(result_dir.getPath(), dir.getName());
if(dir.mkdir())
{ …Run Code Online (Sandbox Code Playgroud)