我需要从旧版界面解析信息。我们没有能力更新旧消息。我对正则表达式不是很精通,但是我设法写了一个能满足我期望的表达式。我只需要同行评审和反馈以确保它是干净的。来自旧系统的消息返回的值类似于以下示例。%name0=value%name1=value%name2=valueExpression: /\%(.*)\=(.*)/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);}这段代码有效,我可以在名称/值的中间添加部分匹配,而不会造成任何破坏。我必须假定字符的任何组合都可能出现在“值”匹配中。意思是它在消息中可以有等号和百分号。这样够干净吗?是否有可能破坏表达?
添加回答
举报
0/150
提交
取消