匹配以空白符号 \s (空格、tab等)开始并以空白字符结束的字符

解决方案 »

  1.   

    是不是[^\s]这样就是非 = \S     而    ^\s+(.*?)\s+$ 就不是非的意思了。那如果去掉可不可以?比如: ver re = /\s+(.*?)\s+/; 这样可以吗?有什么不同?
      

  2.   

    引用 4 楼 mznumber1 的回复:
    是不是[^\s]这样就是非 = \S     而    ^\s+(.*?)\s+$ 就不是非的意思了。 
    -----------------------
    这样的理解绝对错误!你混淆了^的两个不同用法。^有两个不同的用处:
    在[]里表示“非”
    在[]外就表示“匹配输入字符串的开始位置”,比如“行首”。$跟^的第二个用法相对应,匹配输入字符串的结束位置。所以,
    var re = /^\s+(.*?)\s+$/; 
    的意思是:
    匹配一行中,开头有若干空格,结尾有若干空格。
    这里的^与“非”无关。你可以参考:《JScript中文参考手册》
    http://download.csdn.net/source/166894