找回密码
 加入
搜索
查看: 9336|回复: 22

[效率算法] [已解决]求助,如何利用正则表达式获取一段文本中重复次数最多的字符串

 火.. [复制链接]
发表于 2012-3-29 17:23:07 | 显示全部楼层 |阅读模式
本帖最后由 35888894 于 2012-3-30 09:59 编辑

求助,如何利用正则表达式获取一段文本中重复次数最多的字符串
比如$a="anbancjffsanvdaf"
我想要提出其中出现最多的“an” 和次数3
谢谢!

评分

参与人数 1金钱 +15 收起 理由
afan + 15 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2012-3-29 18:16:21 | 显示全部楼层
回复 1# 35888894

多给个$a="anbancjffsanvdaf"这样的例子.
 楼主| 发表于 2012-3-29 18:17:06 | 显示全部楼层
$a="manbanc12aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3123jffsanadzwdanxsedffdffdffdffdffdffvdaf"
 楼主| 发表于 2012-3-29 18:17:30 | 显示全部楼层
这个里面重复最多的应该是aa
 楼主| 发表于 2012-3-29 18:18:20 | 显示全部楼层
$a="manbanc12aaa3123jffsanadzwdanxsedffdffdffdffdffdffvdaf"
这个应该是dff
发表于 2012-3-29 22:02:55 | 显示全部楼层
这个貌似不能用正则搞定吧?能搞定的话就太牛逼了!
发表于 2012-3-29 22:44:41 | 显示全部楼层
这个太难了!
发表于 2012-3-29 22:46:18 | 显示全部楼层
回复 1# 35888894


    这个不能用正则吧

反正我的正则水平是认为不可能的事了
发表于 2012-3-29 23:16:22 | 显示全部楼层
用正则也不可能一两次搞定,至少牵涉到数值对比。
另外 $a="anbancjffsanvdaf" 重复最多的为什么不是“a” 而是 “an”?
发表于 2012-3-29 23:29:17 | 显示全部楼层
用正则也不可能一两次搞定,至少牵涉到数值对比。
另外 $a="anbancjffsanvdaf" 重复最多的为什么不是“a” ...
afan 发表于 2012-3-29 23:16



    这个可以理解他的字符串的意思是两个或两个以上的字符组合,单单一个‘a’,就叫字符了

不知道为什么他一定要定在只用正则来干:正则是非常有用的,正则不是万能的
发表于 2012-3-29 23:32:20 | 显示全部楼层
用正则也不可能一两次搞定,至少牵涉到数值对比。
另外 $a="anbancjffsanvdaf" 重复最多的为什么不是“a” ...
afan 发表于 2012-3-29 23:16


不过,我想了下,这个用什么算法好点
现在能想到的:后缀树,KMP算法,二分长度后hash之

我没有实践后,个人估计后缀树效率高点
发表于 2012-3-29 23:33:00 | 显示全部楼层
回复 10# happytc


    “正则是非常有用的,正则不是万能的” 同意~
不过这里用正则来开路应该还是比较便利的。
发表于 2012-3-29 23:35:00 | 显示全部楼层
不过,我想了下,这个用什么算法好点
现在能想到的:后缀树,KMP算法,二分长度后hash之

我没有实践 ...
happytc 发表于 2012-3-29 23:32



    毕竟是学编程的,说的我一概不知…  不如弄点上来学学,比较下效率,让我开开眼~ ^___^
发表于 2012-3-29 23:45:03 | 显示全部楼层
这个可以理解他的字符串的意思是两个或两个以上的字符组合 ...
happytc 发表于 2012-3-29 23:29



    如果不确定“两个或两个以上的字符组合”到底是几位,那无疑是位数越低的重复次数越高。
发表于 2012-3-30 00:02:38 | 显示全部楼层
毕竟是学编程的,说的我一概不知…  不如弄点上来学学,比较下效率,让我开开眼~ ^___^
afan 发表于 2012-3-29 23:35



    呵,A老大,你逗我吧,不可能不知道Hash(程序员面试经常有它,A版不可能不知),KMp之类的吧
一般人处理字符串,可能都是用简单的暴力算法,反正让机子“一只绵羊,二只绵羊……”地慢慢数,若效率太低,就来个Hash了。后缀树(组)是高级数据结构,其实也就是Trie树(字典树)一个发展而已。
象很多破rar密码的软件,大多数用暴力法,我看到少部分用的就是字典树来破。

今晚喝了点酒,头脑晕着呢,等清醒了有空时,我来试试用au3写写。好久没有写au3的代码了,快忘了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 23:24 , Processed in 0.086334 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表