<script>
var str="chrome/54.0.2840.71 safari/537.36 ";
var patt1=/chrome\/[\d.]+/;
document.write(str.match(patt1));
</script>
这里的[],+但代表什么意思。
var patt1=/chrome\/\d.+/;
如果这样写会输出chrome/54.0.2840.71 safari/537.36,而加上[]就会只输出chrome/54.0.2840.71
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
http://manual.phpv.net/regula... 你需要看看这个
[\d.]+ 表示 数字或者点号 出现一个或者多个,如果你例子里匹配了
chrome/54.0.2840.71 其中54.0.2840.71这个就是[\d.]+
但是呢,你如果不加


[],其实你看他匹配出来的例子是chrome/54.0.2840.71 safari/537.36其中 \d 仅仅只是匹配了5, 点号表示任意字符,``+修饰的是点号而已
你可以通过这个网站看一下正则的匹配 https://www.debuggex.com/
\d.+匹配一个数字和一个以上的任意字符[\d.]+匹配一个以上的数字或字符'.''.'在[]里是一个普通字符,在[]外是通配符
[]里面的是要出现的字符,后面的+代表出现一次或多次