一、驼峰转中划线采用正则来实现可以看如下代码:
"marginTop".replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase()
"margin-top"
其中([a-z])和([A-Z])正好匹配”n”和”T”,对应匹配分组的$1和$2,这样在替换的时候直接用表达式”$1-$2”即可。
二、中括号的作用
中括号在这次正则匹配中起着很重要的作用,分别使用了表示范围的a-zA-Z来匹配驼峰中的关键位置。也就只有中括号可以起到这个作用。去掉中括号a-z或者A-Z将作为字符a-z和A-Z来匹配,这样匹配就会失败.可以看示例
使用中括号之后
三、让正则表达式解决问题成为一种习惯
能够使用纯字符串操作的转换一定可以使用正则表达式。使用正则表达式解决的问题也可以使用纯字符串操作,但是正则相对来说比较简洁,但是理解起来比较难,如果懂正则表达式,也就不那么难了,反而更喜欢使用正则表达式来解决字符串替换提取等问题。