Javascript 需要简单解释一下JS中的正则表达式模式吗

Javascript 需要简单解释一下JS中的正则表达式模式吗,javascript,regex,Javascript,Regex,/^\s*$/.test(string)——这就是我正在使用的代码。 我知道它在寻找空白。^-开始时,$-结束时,*-任何地方 不管我把空格放在字符串的什么地方,它总是返回false并正确写入字符串(没有空格)。问题是为什么?这种模式是如何工作的 我在任何地方都找不到答案。我真的很感激任何帮助。我对这种东西不熟悉。谢谢。此模式正在查找空字符串或“白色”字符串(仅包含白色字符(空格、制表符、换行符)的字符串): 现在,从您的注释开始,如果您正在查找一个包含白色字符的字符串,但它不仅是或仅是(换句话

/^\s*$/.test(string)——这就是我正在使用的代码。 我知道它在寻找空白。^-开始时,$-结束时,*-任何地方

不管我把空格放在字符串的什么地方,它总是返回false并正确写入字符串(没有空格)。问题是为什么?这种模式是如何工作的


我在任何地方都找不到答案。我真的很感激任何帮助。我对这种东西不熟悉。谢谢。

此模式正在查找空字符串或“白色”字符串(仅包含白色字符(空格、制表符、换行符)的字符串):

现在,从您的注释开始,如果您正在查找一个包含白色字符的字符串,但它不仅是仅是(换句话说,
test()
方法将对不包含空格的字符串返回
false
),则必须删除锚(
^
$
)并将量词*更改为+(这意味着重复一次或多次):


你到底在找什么?当你没有定义问题时,很难知道答案是什么


您的模式正在查找包含0个或多个空格(
\s*
)的行,这些空格必须在开头(
^
),这些空格必须在结尾(
$
)。因此,它只匹配只有空格的行。

您应该获得类似expresso的内容,这样您就可以逐步使用正则表达式。我明白。问题是:为什么它总是返回false,即使我把空格放在字符串的开头也是如此?这里的关键字是“only”,以防不清楚。如果整个字符串的任何字符不是空白,则regexpression找不到任何内容。这会稍微改变一些情况。你能告诉我哪种组合使它看起来只适合白色字符吗?当我使用/^\s/然后字符串“something”时,它返回true。这为我清除了一些内容。谢谢大家的回答。遗憾的是,我还不能投票:(
^        # start of the string
\s       # character class for white characters
*        # repeat zero or more times    
$        # end of the string
/\s+/.test(str)