#java #regex
#java #регулярное выражение
Вопрос:
Я пытаюсь извлечь строковые значения из этой строки:
String str = "[{"name:"s2"},{},{"name":"f2"},{"name":"f2"},{},{"name":"l"}]";
Я использую регулярное выражение для извлечения «s2», «f2», «f2» и «l».
Я подумал о решении, определил регулярное выражение, чтобы найти строку, которая начинается с «:» кавычка и заканчивается кавычкой.
Я не очень хорошо знаком с регулярным выражением, но я предположил, что мое регулярное выражение будет выглядеть примерно так? ":".?""
public static void main(String... args) {
Pattern p = Pattern.compile(":".?"");
String str = "[{"name:"s2"},{},{"name":"f2"},{"name":"f2"},{},{"name":"l"}]";
Matcher m = p.matcher(str);
System.out.println(str);
while (m.find()) {
System.out.println("groupe = " m.group());
}
}
Спасибо за вашу помощь.
Комментарии:
1.
.?
соответствует 1 или 0 символам.2. Не ясен ли шаблон javadoc для класса? В нем подробно описаны все метасимволы, поддерживаемые классом. Вы не поняли объяснение того, что делает каждый символ?