35888894 发表于 2012-3-29 17:23:07

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

本帖最后由 35888894 于 2012-3-30 09:59 编辑

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

lixiaolong 发表于 2012-3-29 18:16:21

回复 1# 35888894

多给个$a="anbancjffsanvdaf"这样的例子.

35888894 发表于 2012-3-29 18:17:06

$a="manbanc12aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3123jffsanadzwdanxsedffdffdffdffdffdffvdaf"

35888894 发表于 2012-3-29 18:17:30

这个里面重复最多的应该是aa

35888894 发表于 2012-3-29 18:18:20

$a="manbanc12aaa3123jffsanadzwdanxsedffdffdffdffdffdffvdaf"
这个应该是dff

gzh888666 发表于 2012-3-29 22:02:55

这个貌似不能用正则搞定吧?能搞定的话就太牛逼了!

lixiaolong 发表于 2012-3-29 22:44:41

这个太难了!

happytc 发表于 2012-3-29 22:46:18

回复 1# 35888894


    这个不能用正则吧

反正我的正则水平是认为不可能的事了

afan 发表于 2012-3-29 23:16:22

用正则也不可能一两次搞定,至少牵涉到数值对比。
另外 $a="anbancjffsanvdaf" 重复最多的为什么不是“a” 而是 “an”?

happytc 发表于 2012-3-29 23:29:17

用正则也不可能一两次搞定,至少牵涉到数值对比。
另外 $a="anbancjffsanvdaf" 重复最多的为什么不是“a” ...
afan 发表于 2012-3-29 23:16 http://www.autoitx.com/images/common/back.gif


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

不知道为什么他一定要定在只用正则来干:正则是非常有用的,正则不是万能的

happytc 发表于 2012-3-29 23:32:20

用正则也不可能一两次搞定,至少牵涉到数值对比。
另外 $a="anbancjffsanvdaf" 重复最多的为什么不是“a” ...
afan 发表于 2012-3-29 23:16 http://www.autoitx.com/images/common/back.gif

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

我没有实践后,个人估计后缀树效率高点

afan 发表于 2012-3-29 23:33:00

回复 10# happytc


    “正则是非常有用的,正则不是万能的” 同意~
不过这里用正则来开路应该还是比较便利的。

afan 发表于 2012-3-29 23:35:00

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

我没有实践 ...
happytc 发表于 2012-3-29 23:32 http://www.autoitx.com/images/common/back.gif


    毕竟是学编程的,说的我一概不知…不如弄点上来学学,比较下效率,让我开开眼~ ^___^

afan 发表于 2012-3-29 23:45:03

这个可以理解他的字符串的意思是两个或两个以上的字符组合 ...
happytc 发表于 2012-3-29 23:29 http://www.autoitx.com/images/common/back.gif


    如果不确定“两个或两个以上的字符组合”到底是几位,那无疑是位数越低的重复次数越高。

happytc 发表于 2012-3-30 00:02:38

毕竟是学编程的,说的我一概不知…不如弄点上来学学,比较下效率,让我开开眼~ ^___^
afan 发表于 2012-3-29 23:35 http://www.autoitx.com/images/common/back.gif


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

今晚喝了点酒,头脑晕着呢,等清醒了有空时,我来试试用au3写写。好久没有写au3的代码了,快忘了
页: [1] 2
查看完整版本: [已解决]求助,如何利用正则表达式获取一段文本中重复次数最多的字符串