【发布时间】:2019-11-11 08:26:40
【问题描述】:
以下代码有何不同以及它们是如何工作的?
我正在学习 javascript 中的正则表达式。我对以下代码感到困惑。我想知道它们是如何工作的,以及它们之间的区别。
"abc".replace(/[a-z]??/g, "-")
// "-a-b-c-"
"abc".match(/[a-z]??/g)
// ["", "", "", ""]
"abc".replace(/[a-z]?/g, "-")
// "----"
"abc".match(/[a-z]?/g);
// ["a", "b", "c", ""]
为什么他们都有四场比赛?第一个替换方法如何在开头和结尾插入-?
为什么第二个只匹配“abc”的结尾而不是开头?
【问题讨论】:
标签: regex regex-greedy non-greedy