String.split()
не помогает здесь, потому что нет возможности различать пробелы внутри кавычек (не разделять) и внешних (разделенных). Matcher.lookingAt()
, вероятно, вам нужно:
String str = "This is a string that \"will be\" highlighted when your 'regular expression' matches something.";
str = str + " "; // add trailing space
int len = str.length();
Matcher m = Pattern.compile("((\"[^\"]+?\")|('[^']+?')|([^\\s]+?))\\s++").matcher(str);
for (int i = 0; i < len; i++)
{
m.region(i, len);
if (m.lookingAt())
{
String s = m.group(1);
if ((s.startsWith("\"") && s.endsWith("\"")) ||
(s.startsWith("'") && s.endsWith("'")))
{
s = s.substring(1, s.length() - 1);
}
System.out.println(i + ": \"" + s + "\"");
i += (m.group(0).length() - 1);
}
}
, который производит следующий вывод:
0: "This"
5: "is"
8: "a"
10: "string"
17: "that"
22: "will be"
32: "highlighted"
44: "when"
49: "your"
54: "regular expression"
75: "matches"
83: "something."
Вы не можете поделиться конфигурацией Git самой Git. Вы должны сами управлять общим доступом, используя общую файловую систему. Тогда вы можете просто сделать символическую ссылку на общий конфиг.
В качестве альтернативы вы можете создать версию общего Git-конфигурации в отдельном репозитории Git . Но обратите внимание, что конфигурация Git этого репозитория (не та, что в вашей рабочей копии) снова будет локальной.
Поскольку вы просто хотите инициализировать все подмодули, я бы порекомендовал сделать это вручную в CLI. Большая часть графического интерфейса Git делает это автоматически. Поэтому я рекомендую не задумываться о совместном использовании конфигурации Git.