简单的正则式及replace理解

var a = '135去测试不去测试,测试又测试'
a.replace(/\u6d4b\u8bd5/g,'你好')
==>
"135去你好不去你好,你好又你好"

上文对测试两字进行替换,使用replace方式时需要对中文进行unicode转码 =>http://tool.chinaz.com/tools/unicode.aspx可以用这个网址进行得出结果:\u6d4b\u8bd5

参考这段话

还有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

posted @ 2019-11-15 14:21  旧崖  阅读(319)  评论(0编辑  收藏  举报