我有以下 JavaScript 功能:function spinalCase(str) { str = str.replace(/([a-z])([A-Z])/g, '$1 $2'); console.log(str);}spinalCase('thisIsSpinalTapIp');现在它向我展示:这是脊椎穿刺 Ip我不明白它如何识别space()以及为什么它在replace函数中使用2 个正则表达式。你能分解一下吗?注意:此函数的目标是获取脊柱格语句。
3 回答

茅侃侃
TA贡献1842条经验 获得超21个赞
正则表达式解析一个小写字母和一个大写字母序列的每次出现,将小写字母存储在中,将大写字母存储$1
在$2
...中,然后替换$1$2
为$1 $2
,例如插入一个空格。
以下比赛:
这就是pina lT a pI p
所以你会有一个集合['sI','sS','lT','pI']
,其中将在两者之间添加空格

哔哔one
TA贡献1854条经验 获得超8个赞
您在 RegEx 中通过括号创建了两个组名称 $1 和 $2。$1 和 $2 指的是那些组匹配的字符串。
这些字符串将替换 String.replace 的第二个参数中的 $1 和 $2。
每个组的名字就像$Number,这个数字会按照正则表达式中括号的顺序递增。
添加回答
举报
0/150
提交
取消