Вы в основном там.Вам просто нужно удалить свои \n
ссылки.Как в:
([\w]+)\s\{([^}]+)}
Теперь это означает, что в третьем случае все эти поля будут иметь свои \ n встроенные в захваченную группу.
Хотя теперь я вижу, что у вас естькомментарий о "и это регулярное выражение не может возвращать несколько значений, даже если они все в одной строке".Так что, возможно, я не понимаю вашу проблему.
--- EDIT:
Чтобы получить каждый из них в свою собственную группу захвата, Чтобы указать кавычки отдельно.Попробуйте это:
([\w]+)\s\{(\s*"([^}"]+)"\s*)+} -- doesn't work
--- РЕДАКТИРОВАТЬ 2:
Мой пример включения каждого из них в свою группу не работает.И это не будет. StackOverflow: 5018487 .
Я предлагаю использовать свое исходное регулярное выражение, взять полный набор строк, найденных внутри {'s, а затем выполнить второй поиск регулярного выражения в этом сопоставленном тексте, чтобы вытащить каждый"текст".
Спасибо, я кое-что узнал сегодня!