正则表达式优化和最佳实践

我需要从旧版界面解析信息。我们没有能力更新旧消息。我对正则表达式不是很精通,但是我设法写了一个能满足我期望的表达式。我只需要同行评审和反馈以确保它是干净的。


来自旧系统的消息返回的值类似于以下示例。


%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);

}

这段代码有效,我可以在名称/值的中间添加部分匹配,而不会造成任何破坏。我必须假定字符的任何组合都可能出现在“值”匹配中。意思是它在消息中可以有等号和百分号。


这样够干净吗?

是否有可能破坏表达?


慕码人8056858
浏览 125回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript