从一行开始直到任何内容,获取除新行之外的所有空白

Get all the whitespace except new lines from the start of a line until any content?

本文关键字:新行之 获取 空白 任何内 一行 开始      更新时间:2023-09-26

我正试图获得通向一行中任何内容的所有空白。我的RegExp:没有得到结果

var oneLineOfText = "           Hello World";
var whiteSpace = oneLineOfText.replace(/(['t| ]*).*$/, "$1");

预期结果(报价内):

"           "

注意:在预期的结果中,制表符似乎被转换为空格字符。

注意:我不想匹配新行。我正试图从字符串中获取缩进量。如果有一条新行或几条新行,那么我将假设没有缩进。

^[ 't]*
  • ^-从行首开始
  • [ 't]*-尽可能多的空格或制表符

var oneLineOfText = "           Hello World";
var whiteSpace    = oneLineOfText.match(/^[ 't]*/)[0];
whiteSpace.length // => 11


如果要匹配多行字符串,则必须添加适当的gm修饰符:

var multilineText = "   foo'n     bar";
var whiteSpaces   = multilineText.match(/^[ 't]*/gm);
whiteSpaces[0].length // => 3
whiteSpaces[1].length // => 5