我需要從舊版界面解析信息。我們沒有能力更新舊消息。我對正則表達式不是很精通,但是我設(shè)法寫了一個能滿足我期望的表達式。我只需要同行評審和反饋以確保它是干凈的。來自舊系統(tǒng)的消息返回的值類似于以下示例。%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);}這段代碼有效,我可以在名稱/值的中間添加部分匹配,而不會造成任何破壞。我必須假定字符的任何組合都可能出現(xiàn)在“值”匹配中。意思是它在消息中可以有等號和百分號。這樣夠干凈嗎?是否有可能破壞表達?
正則表達式優(yōu)化和最佳實踐
慕碼人8056858
2021-05-16 12:13:03