JavaScript中的正则表达式\S是什么意思?

161

/\S/在正则表达式中代表什么意思?

while (cur ! = null) {
    if (cur.nodeType == 3 && ! /\S/. test(cur.nodeValue)) {
        element. removeChild(cur);
    } else if (cur. nodeType == 1) {
        cleanWhitespace(cur);
    }
}

48
快速参考:\s 是一个简写,表示 [ \t\r\n\f],而 \S 等同于 [^ \t\r\n\f] - caiosm1005
https://dev59.com/PGw15IYBdhLWcg3wmc8J#6507078 - Andrew
10
@caiosm1005评论中方括号之间的空格很重要。我浪费了太多时间才意识到这一点。 - Henrik
5个回答

233

\s 匹配空白字符(空格、制表符和换行符)。\S\s 的反义。


85

前括号的作用是什么? - steve
4
你的意思是反斜杠吗?它的作用是转义 S,以便将其与大写字母"S"区分开来。 - instantsetsuna
@steve 正则表达式中的斜杠“/\S/”用于分隔。 - Thorkil Værge

19

我认为它的意思是“除了空格字符以外的任何字符”。


9

/\S/.test(string) 只有在 string 中存在非空格字符时才返回 true。制表符和换行符被视为空格。


-4

13
注意,这是区分大小写的。这并没有回答原来的问题。 - Melebius
6
这个赞数是多少真是让人担忧。 - Michael Mrozek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接