我正在尝试在setTimeout
上拆分字符串,但如果","
位于","
,我不想拆分。没有嵌套的大括号。
这是我要拆分的字符串:
EmbiBISupplierKPIResult_EditArea00001,EmbiBISupplierKPISearch,partyId = E10021& economicAreaPartyIds = {DPP_20246,DPP_14726}& economicId = {DPP_20246,DPP_14726}& requestedDateSearchType = ACTUAL_WEEK
这是我期望的结果:
"{}"
有正则表达式吗?
答案 0 :(得分:3)
您可以使用match
并明确指出大括号之间部分的可选匹配:
var parts = s.match(/(\{[^{}]*\}|[^,{}]+)+/g)
var s = 'EmbiBISupplierKPIResult_EditArea00001,EmbiBISupplierKPISearch,partyId=E10021&economicAreaPartyIds={DPP_20246, DPP_14726}&economicId={DPP_20246, DPP_14726}&requestedDateSearchType=ACTUAL_WEEK';
var parts = s.match(/(\{[^{}]*\}|[^,{}]+)+/g)
document.querySelector('pre').innerHTML = JSON.stringify(parts,null,'\t');

<pre id=result></pre>
&#13;
答案 1 :(得分:2)