Есть ли краткая функция для списков?

  • Нет выхода:
    /([^=,]*)=("[^"]*"|[^,"]*)/
    
  • Двойная кавычка для обоих ключей и значений:
    /((?:"[^"]*"|[^=,])*)=((?:"[^"]*"|[^=,])*)/
    
    key=value,"key with "" in it"="value with "" in it",key=value" "with" "spaces
    
  • Сброс строки обратной косой черты:
    /([^=,]*)=("(?:\\.|[^"\\]+)*"|[^,"]*)/
    
    key=value,key="value",key="val\"ue"
    
  • Полное удаление обратной косой черты:
    /((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\]+)*)/
    
    key=value,key="value",key="val\"ue",ke\,y=val\,ue
    

Редактирование: добавлены альтернативы экранирования.

Edit2: Добавлена ​​другая альтернативная альтернатива.

очистить ключи / значения, удалив любые escape-символы и окружающие кавычки.

449
задан martineau 7 October 2016 в 12:33
поделиться