Javascript正则表达式“单空格字符”

时间:2010-03-11 22:20:58

标签: javascript regex

我正在学习javascript,而我正在分析现有代码。

在我的JS参考书中,它说搜索单个空格使用“\s”?

但我遇到了代码

obj.match(/Kobe Bryant/);

不是使用\s,而是使用实际空间?

为什么不会产生错误?

4 个答案:

答案 0 :(得分:64)

字符类\s不仅包含空格字符,还包含其他Unicode white space characters\s等同于此字符类:

[\t\n\v\f\r \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]

答案 1 :(得分:6)

没有。在正则表达式中包含文字空间是完全合法的。

但是,它不等同 - \s将包含任何空白字符,包括制表符,不间断空格,半角空格和其他字符,而文字空间只匹配常规空格字符。

答案 2 :(得分:5)

\s匹配任何空格字符,包括制表符等。当然,您也可以毫无问题地使用文字空间。就像您可以使用[0-9]代替\d来表示任何数字一样。

答案 3 :(得分:1)

除了普通空格之外,\s还匹配不同类型的空格字符,包括标签(根据配置可能还有换行符)。也就是说,与普通空间匹配肯定是有效的,特别是在您希望匹配名称的情况下,通常由正常空格分隔。