Мне нужно разобрать информацию из устаревшего интерфейса.У нас нет возможности обновить устаревшее сообщение.Я не очень хорошо разбираюсь в регулярных выражениях, но мне удалось написать такое, которое делает то, что я хочу.Мне просто нужно рецензирование и обратная связь, чтобы убедиться, что это чисто.
Сообщение из прежней системы возвращает значения, аналогичные приведенному ниже примеру.
%name0=value
%name1=value
%name2=value
Expression: /\%(.*)\=(.*)/g;
var strBody = body_text.toString();
var myRegexp = /\%(.*)\=(.*)/g;
var match = myRegexp.exec(strBody);
var objPair = {};
while (match != null) {
if (match[1]) {
objPair[match[1].toLowerCase()] = match[2];
}
match = myRegexp.exec(strBody);
}
Этот код работает, и я могу добавить частичные совпадения в середине имени /ценности без каких-либо нарушений.Я должен предположить, что любая комбинация символов может появиться в совпадении «значений».То есть в сообщении могут быть знаки равенства и процента.
- Достаточно ли чисто?
- Есть ли что-то, что может нарушить выражение?