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]
回答很是精简,可惜我看不太懂,那个分组的我知道,但是具体的东西不是很了解,例如,那个“.”符号代表什么,还有"+"符号,都是怎么匹配的.
. 任意字符
推荐一本小书:
[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 对应正则表达式的第一个括号