就是匹配全部可匹配结果,
如果你不带g,在正则过程中,字符串是从左至右匹配的,如果匹配成功就不再继续向右匹配了,如果你带g,它会重头到尾的把正确匹配的字符串挑选出来
例如:
var str = 'aaaaaaaa'
var reg1 = /a/
var reg2 = /a/g
str.match(reg1)// 结果为:["a", index: 0, input: "aaaaaaaa"]
str.match(reg2)// 结果为:["a", "a", "a", "a", "a", "a", "a", "a"]
/[\r]/g在js中是正则表达式对象,在两个“/”之间的部分是表达式的主体,表示要匹配的字符串;“g”表示在整个字符串中搜索。所以这段代码中要匹配的字符串是“[\r]”所代表的字符串,其中“[]”表示字符的可选范围。
//g是全局匹配
//中间的内容表示:匹配以=开关,后面是0或多个空格,然后是双引号括起来的任意字符,比如:
= "any symble"
\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\:将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。
匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。
扩展资料:
Javascript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译),但由于V8的核心部分多数用Javascript撰写(而SpiderMonkey是用C++),因此在不同的测试上,两者性能互有优劣。
与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。
参考资料来源:百度百科-javascript