Я использую этот пост как ссылку на этот вопрос - Как с помощью регулярного выражения удалить пробелы и символы новой строки из текста, кроме случаев, когда они находятся в строке json?
У меня есть следующая строка в программе java:
"stuff\n blah\n--payload {'meh': 'kar\n'}"
Я ищу регулярное выражение для замены символов новой строки во всей строке, за исключением одного в строке JSON. Результат, которого я ожидаю, будет:
"stuff blah --payload {'meh': 'kar\n'}"
Регулярное выражение, указанное в этом сообщении, отлично работает в большинстве случаев, но также заменяет \n
в строке JSON. Конечный результат, который я получаю:
"stuff blah --payload {'meh': 'kar'}"
Я экспериментировал со следующим набором регулярных выражений:
^("[^"]*(?:""[^"]*)*")(\n+) // I expected this to be a combination of newline and newline not within double quotes
[\n\r]\s* //Match new lines, and then could possibly negate it to be within double quotes?
Но я все еще не могу найти вариант использования, где символ новой строки в строке значения JSON не будет проигнорирован. Есть ли возможное решение?