免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3204 | 回复: 7
打印 上一主题 下一主题

请教搜索重复单词(“this this”)问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-18 15:48 |只看该作者 |倒序浏览
本帖最后由 tommydu 于 2010-03-18 15:55 编辑

搜索重复单词(“this this”)问题:

$/ = ".\n";
    while (<>) {
      next if !s/\b([a-z]+)((?:\s<<[^>]+>)+)(\1\b)/\e[7m$1\e[m$2\e[7m$3\e[m/ig;
      s/^(?:[^\e]*\n)+//mg;   # Remove any unmarked lines.   # 为何需要加^
      s/^/$ARGV: /mg;         # Ensure lines begin with filename.
      print;
    }

请教~~~

论坛徽章:
0
2 [报告]
发表于 2010-03-19 14:34 |只看该作者
你的是说包括括号?

论坛徽章:
0
3 [报告]
发表于 2010-03-19 14:37 |只看该作者
十分之乱的一个正则`

论坛徽章:
0
4 [报告]
发表于 2010-03-20 14:59 |只看该作者
/\b(\w+)\s+\1\b/i

论坛徽章:
0
5 [报告]
发表于 2010-03-20 16:34 |只看该作者
真乱,正则写长了,没注释看不懂啊。

论坛徽章:
0
6 [报告]
发表于 2010-03-20 20:44 |只看该作者
原来LZ贴的是《精通正则表达式》里的解决重复单词的问题,P77的解答

论坛徽章:
0
7 [报告]
发表于 2010-03-20 20:46 |只看该作者
本帖最后由 bluewaterray 于 2010-03-21 09:27 编辑

既然用到了/mg,所以^会匹配每一行开头的位置,这里要对每一行进行检查,如果从^一直到\n,都没有标记的话就把这行去掉。
不加^的话,检查失败从后一个"字符"开始,成功则从成功的地方之后开始,而非下一行开始

论坛徽章:
0
8 [报告]
发表于 2010-03-20 21:24 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP