关于正则表达式的问题。

navigator.appVersion="4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
var result = navigator.appVersion.replace(/.+(MSIE[^;]+).+/,"$1");

最好result的值为:MSIE 6.0
问下为什么,这个是如何解析匹配的。
[b]问题补充:[/b]
回答很是精简,可惜我看不太懂,那个分组的我知道,但是具体的东西不是很了解,例如,那个“.”符号代表什么,还有"+"符号,都是怎么匹配的.

. 任意字符

  • 字符出现1次或多次 [] 字符组 [^;] 不是;的任意字符 () 捕获组,后面的 $1、$2 ... 分别对应第 1、2个捕获组

推荐一本小书:
[url="http://www.china-pub.com/36364"]《10 分钟教会你用正则表达式》[/url]

要看大部头,似乎可以找《精通正则表达式》

推荐一个小工具,可以把匹配过程显示出来:
[url]http://osteele.com/tools/reanimator/[/url]

/[color=blue].+[/color]color=red[/color][color=green].+[/color]/

[color=blue]4.0 (compatible; [/color][color=red]MSIE 6.0[/color][color=green]; Windows NT 5.1; SV1)[/color]

$1 对应正则表达式的第一个括号