replace()中的/g是什么意思?

  • Post author:
  • Post category:其他


如题,需要详细解释!每个匹配模式都需要解释清楚,那 /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