正则表达式的[] +

<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

阅读 3.4k
3 个回答

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.]+匹配一个以上的数字或字符'.'

'.'在[]里是一个普通字符,在[]外是通配符

[]里面的是要出现的字符,后面的+代表出现一次或多次

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题