转:http://hi.baidu.com/zhangge9477/blog/item/1db061d4b4ec7f08a08bb7da.html
如题,需要详细解释!每个匹配模式都需要解释清楚,那 /g 是什么意思呀?谢谢。
还有str.replace(/^\s*(.*?)[\s\n]*$/g, '$1')的$1'是什么意思?
答:g全称是global(全部),作用是打开全局匹配,$1 等于前面匹配的()中的内容
补充知识:
i:代表不区分大小写匹配。 英文是ignore(忽略),表明在被查找的字符串中匹配样式的时候查找操作将不区分大小写。
m:代表可以进行多行匹配。 英文是multiple(多选),标志在多行的字符串中进行查找
第一个^表示从你要查找的字符串的第一位开始匹配比如123 正则为1 那么这里123的1 就匹配这个正则。。如果是213 这里213里面的1 就不匹配这个正则 \s 包括空格、制表符、换页符等空白字符的其中任意一个后面跟个*表示 可以匹配0-N次,(.*?)这个小括号里面的“.”小数点可以匹配除了换行符(\n)以外的任意一个字符而后面跟*也是说的 可以匹配0-N次后面的[\s\n]*表示这里匹配一个字符而这个字符只能是\s或者\n里面的 \n表示回车和换行符,*就不多说了 最后$表示正则匹配的结束,这个与^合起来用。,也就是说 这个匹配的字符串 必须以\s\n里面包含的字符结束
这个JS函数的作用就是正则替换。。符合正则条件的就替换成$1
replace ( string1, start, n, string2 )
参数string1:string类型,指定要使用string2替换其中一部分内容的字符串;start:long类型,指定要从哪个字符位置开始替换字符串,字符串中第一个字符的位置为1;n:long类型,指定要替换多少个字符;string2:string类型,指定用哪个字符串替换string1的部分字符返回值String。函数执行成功时返回替换后的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,Replace()函数返回NULL。用法如果start参数指定的位置超过了string1的长度,那么Replace()函数把将string2拼接到string1的后面形成的字符串返回。如果n的值为0,那么Replace()函数把string2插入到string1指定位置后形成的字符串返回。