如何简化正则?-灵析社区

无敌英俊大师兄

function excludeSubstring(inputString, substringToDelete) { const regex = new RegExp( `(^\\b${substringToDelete}\\b,*)|(,*\\b${substringToDelete}\\b)` ); return inputString.replace(regex, ""); } // 举例 '12,34,56'.replace(/(^12,*)|(,*12)/,'') 如何简化这个正则呢? 或者是否有其他实现方式(正则)?

阅读量:121

点赞量:0

问AI
用零宽断言 "/(?<=^|,)12(?=,|$)/" '12,34,56,12,34,56,12'.replace(/(?<=^|,)12(?=,|$)/g, '[]') 结果是 "[],34,56,[],34,56,[]" 删除的话,正则改一下,需要一点点额外 JS 辅助一下 '12,34,56,12,34,56,12'.replace(/(^|,)12(,|$)/g, function($0, $1, $2){ // console.log($0, $1, $2); return ($1===$2 ? ',' : ''); }) 结果是 "34,56,34,56"