js中请问正则表达式的\1与/m分别表示什么意思?

fwvweweq 2013-01-24 02:29:00

var ss = "Is is the cost of of gasoline going up up?.\n";
var re = /\b([a-z]+) \1\b/gim;
var rv = ss.replace(re,"$1");
alert(rv);
...全文
594 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaofan_sap 2013-01-24
  • 打赏
  • 举报
回复
fwvweweq 2013-01-24
  • 打赏
  • 举报
回复
引用 5 楼 xiaofan_sap 的回复:
因为 ss中 不是 有 Is is 这个么? 他俩之间不是有空格嘛 匹配的就是 is 。最后的效果就是 只保留一个 而已
那么/\b ([a-z]+) \1\b/gim时却输出:Is is the costof gasoline goingup?
xiaofan_sap 2013-01-24
  • 打赏
  • 举报
回复
因为 ss中 不是 有 Is is 这个么? 他俩之间不是有空格嘛 匹配的就是 is 。最后的效果就是 只保留一个 而已
xiaofan_sap 2013-01-24
  • 打赏
  • 举报
回复
单词边界啊
fwvweweq 2013-01-24
  • 打赏
  • 举报
回复
那么\b是什么意思?
fwvweweq 2013-01-24
  • 打赏
  • 举报
回复
引用 1 楼 xiaofan_sap 的回复:
\1 是捕获组 ,就是第一个小括号内的值(从左向→), m-多行搜索 你这个意思 是 用re 来匹配 ss中 重复的单词,然后 把这个重复的单词替换掉 只留下一个
那么为什么\1前要有一个空格?没有空格就原句输出?而且没有\1就输出的语句单词之间没有空格。。。
xiaofan_sap 2013-01-24
  • 打赏
  • 举报
回复
\1 是捕获组 ,就是第一个小括号内的值(从左向→), m-多行搜索 你这个意思 是 用re 来匹配 ss中 重复的单词,然后 把这个重复的单词替换掉 只留下一个

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧