1、下划线转驼峰
const toCamel = str =>str.replace(/([^_])(?:_+([^_]))/g, (_,p1, p2)=>p1+p2.toUpperCase());
2、驼峰转下划线
const toLowerLine = str =>str.replace(/[A-Z]/g, match=>"_"+match.toLowerCase());
3、打印结果:
console.log(toCamel("__to_make__something_wonderfull_"));
console.log(toLowerLine("whatIsYourName"));
附一张图来解释正则