需要在JS中简单解释RegEx模式

时间:2013-11-18 16:13:56

标签: javascript regex

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

将空格放在字符串中的位置并不重要,它总是返回false并正确写入我的字符串(没有空格)。问题是为什么?这种模式如何运作?

我无法在任何地方找到答案。我真的很感激任何帮助。我是这种东西的新手。感谢。

2 个答案:

答案 0 :(得分:3)

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

^        # start of the string
\s       # character class for white characters
*        # repeat zero or more times    
$        # end of the string

现在,自您的评论以来,如果您要查找的字符串包含白色字符但不仅 (换句话说,{{ 1}}方法将为不包含空格的字符串返回test() ,您必须删除锚点(false^)并更改量词* to +(表示重复一次或多次):

$

答案 1 :(得分:0)

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

您的模式正在寻找一个包含0或更多空格(\s*)的行,并且这些空格必须位于开头(^),并且这些空格必须位于末尾({{ 1}})。所以它只匹配只有空格的行。