Javascript Regular Expression “Single Space Character”

前端 未结 4 1906
礼貌的吻别
礼貌的吻别 2020-12-09 01:49

I am learning javascript and I am analyzing existing codes.

In my JS reference book, it says to search on a single space use \"\\s\"?

But I have

相关标签:
4条回答
  • 2020-12-09 02:17

    No. It is perfectly legal to include a literal space in a regex.

    However, it's not equivalent - \s will include any whitespace character, including tabs, non-breaking spaces, half-width spaces and other characters, whereas a literal space will only match the regular space character.

    0 讨论(0)
  • 2020-12-09 02:19

    The character class \s does not just contain the space character but also other Unicode white space characters. \s is equivalent to this character class:

    [\t\n\v\f\r \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]
    
    0 讨论(0)
  • 2020-12-09 02:25

    \s matches any whitespace character, including tabs etc. Sure you can use a literal space also without problems. Just like you can use [0-9] instead of \d to denote any digit.

    0 讨论(0)
  • 2020-12-09 02:29

    In addition to normal spaces, \s matches different kinds of white space characters, including tabs (and possibly newline characters, according to configuration). That said, matching with a normal space is certainly valid, especially in your case where it seems you want to match a name, which is normally separated by a normal space.

    0 讨论(0)
提交回复
热议问题