24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1277  |  回复: 6

匿名

用户注销 (著名写手)

本帖仅楼主可见
已阅   同方向广播   申请程序强帖   回复此楼   编辑   查看我的主页

karon1988

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
louis_cheung: 金币+2, ★★★很有帮助 2015-06-04 15:08:09
louis_cheung: 金币+3, ★★★很有帮助 2015-06-04 20:20:22
正则是没有问题的,它只能做到这样。

而你的需求必须自己设计算法实现,比如  还是用正则的话,你要可以把字符串GGGTCCC切开
用GGGTCCC 过一次正则,然后用GGTCCC 再过一次正则。
2楼2015-06-04 14:26:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (著名写手)

本帖仅楼主可见
3楼2015-06-04 15:07:53
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

匿名

用户注销 (著名写手)

本帖仅楼主可见
4楼2015-06-04 16:52:14
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

karon1988

金虫 (小有名气)

【答案】应助回帖

引用回帖:
4楼: Originally posted by louis_cheung at 2015-06-04 16:52:14
由于要分析的字符串和正则表达式数量都很多,这样做,运行时要耗非常非常多的时间~~...

我只是举个例子说明你需要自己设计一个算法,我也不知道你具体的数据是什么形式。

再说一个我刚想到的思路吧。

1.以下算法针对每个正则表达式单独设计
2.在字符串中找出符合正则表示中确定部分的子串,作为候选集
3.验证候选集是否符合正则表达式

举例:
你的正则是'GG.{2}CC',数据是GGGTCCC
正则的确定部分是:GG开头,长度为6.
好,在数据中找候选集:GGGTCC  GGTCCC
(为了减少内存的消耗吗,你可以只存储候选集的索引即可,比如GGGTCC 是数据中第0个开始的,所以存个0,GGTCCC是数据中第1个开始的,存个1)
最后验证候选集中的字符串是不是真的满足条件
5楼2015-06-04 18:22:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (著名写手)

本帖仅楼主可见
6楼2015-06-04 20:22:05
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

匿名

用户注销 (著名写手)

本帖仅楼主可见
7楼2015-06-04 20:25:56
已阅   申请程序强帖   回复此楼   编辑   查看我的主页
相关版块跳转 我要订阅楼主 louis_cheung 的主题更新
信息提示
请填处理意见