正则表达式解释和 javascript 的替换函数。为什么需要捕获组?


var cleaned_input = input.replace(/(s{2,}n|t)/g," ")
我有这条线。这个正则表达式似乎可以用单个空格替换任何两个或两个以上的空格、任何换行符和任何制表符。但我为什么需要抓人小组?捕获了什么?

此正则表达式将所有"连续空格(2个或更多)后跟换行"或"单独制表符"的空格替换为一个空格。

在这种情况下,捕获组是不必要的,但我相信它被放在那里是因为一个错误的假设,即or (|)语句总是需要在括号内。

最新更新