这几个正则是什么意思啊?我有些看不懂呢求高手指点!给解释哈(比如“以XX开始。。”),只解释一个也行。
/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/
/^.[^:#\[\.,]*$/
/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g
/(?:^|:|,)(?:\s*\[)+/g

解决方案 »

  1.   

    /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/(?: 非捕获组
    [^<]*  不包括‘<’ 的 0个或多个字符  开始(<[\w\W]+>) 捕获组  1个以上的 任意字符
    \w :匹配包括下划线的任何单词字符,等价于 [A-Z a-z 0-9_]
    \W :匹配任何非单词字符,等价于 [^A-Z a-z 0-9_]
    [^>]*$|#([\w\-]+)$   结束:  不包括> 的0个或多个字符 或者 # 加  1个以上的[A-Z a-z 0-9_\-] 
    这个匹配的应该是html 标签 
      

  2.   

    /^.[^:#\[\.,]*$/
    . 开始
    对于使用传统NFA引擎的大多数语言和工具,如Java、.NET来说,“.”的匹配范围是匹配除了换行符“\n”以外的任意一个字符。
    但是对于javascript来说有些特殊,由于各浏览器的解析引擎不同,“.”的匹配范围也有所不同,对于Trident内核的浏览器,如IE来说,“.”同样是匹配除了换行符“\n”以外的任意一个字符,但是对于其它内核的浏览器,如Firefox、Opera、Chrome来说,“.”是匹配除了回车符“ \r”和换行符“\n”以外的任意一个字符。 [^:#\[\.,]*   除 :#[., 外的0个以上的任意字符 结束
      

  3.   

    [.] <> .在[]里面.就是小数点 而不是元字符