Мне нужно использовать метод replaceAll класса String для извлечения пути конфигурации из большой строки. Мне удалось исключить левую часть строки с помощью регулярного выражения, однако у меня возникли проблемы с правой стороной. Вот оно:
/home/user/qa/jboss-eap-7.2/standalone/configuration", "jboss.server.data.dir" : "/home/user/qa/jboss-eap-7.2/standalone/data", "jboss.server.deploy.dir" : "/home/user/qa/jboss-eap-7.2/standalone/data/content", "jboss.server.log.dir" : "/home/user/qa/jboss-eap-7.2/standalone/log", "jboss.server.name" : "fedora", "jboss.server.persist.config" : "true", "jboss.server.temp.dir" : "/home/user/qa/jboss-eap-7.2/standalone/tmp", "line.separator" : "\n", "logging.configuration" : "file:/home/user/qa/jboss-eap-7.2/standalone/configuration/logging.properties", "module.path" : "/home/user/qa/jboss-eap-7.2/modules", "org.apache.xml.security.ignoreLineBreaks" : "true", "org.jboss.boot.log.file" : "/home/user/qa/jboss-eap-7.2/standalone/log/server.log", "org.jboss.resolver.warning" : "true",
Итак, я просто хочу захватить строку / home / user / qa / jboss-eap-7.2 / standalone / configuration , и я пришел с этим :
// String a contains the above text
String b = a.replaceAll("^\".*","");
System.out.println(b);
Это должно удалить все, начиная с первого вхождения кавычек ("). Однако это не работает так, как ожидается, так как возвращается полная строка. Любой может помочь мне выяснить почему? Спасибо