首页新闻找找看学习计划

【正则大神救命啊】求一正则表达式,匹配字符串中出现字符的个数

-2
悬赏园豆:10 [已解决问题] 解决于 2018-01-25 17:55

需求是不确定的一个字符串,由多个字符组成。

字符串由a,b,c,d,e,f,g字符组成,其中a,b,c,d最多能连续出现3次,但是有间隔字符时可以出现4次。e,f,g不能重复出现。

比如: aaabcd, aaabacd, aabbccddef, aaabbbcccdddefg, ddaddaabegf, efgdddbcda等。

不允许出现: aaaabcd, aaafagaaada, bbbabbef, eeffabcd, effgcd, ccccadcgfe, 

Eysa的主页 Eysa | 初学一级 | 园豆:81
提问于:2018-01-05 10:50
< >
分享
最佳答案
0

这种问题其实是我们都想一步做出来,一步做困难时分步做就好了,
你的意思是不是abcd最多出现4次,且至多能连续三次,efg不能连续出现(暂时认为这么理解)
完全可以分几步
比如先处理a, 处理一个就比较简单了吧,用正则找出总次数是不是大于4,不大于4时再用正则看有没有aaaa,如果没有就可以,
b,c,d类似
对e,用正则看能不能找出ee,找不出就可以
f,g类似
我是这个思路,困难的问题给它分解成一个个小问题。

收获园豆:10
流年飞雨 | 小虾三级 |园豆:1918 | 2018-01-06 01:39

可以写一个方法,而不是一句正则表达式来完成功能

流年飞雨 | 园豆:1918 (小虾三级) | 2018-01-06 01:40

@一座城你说你不懂: 谢谢,可以分步来做。

Eysa | 园豆:81 (初学一级) | 2018-01-08 14:58
其他回答(3)
0

要匹配的字符串格式是什么样的,比如abcabcabc,匹配这个字符串,是匹配一个呢(因为a,b,c,a,b,c这样单个字符也符合你说的情况的),还是匹配整个字符串呢?

鲁广广 | 园豆:8 (初学一级) | 2018-01-05 15:12

匹配整个字符串,包含的字符个数>0

支持(0) 反对(0) Eysa | 园豆:81 (初学一级) | 2018-01-05 15:30
0

把需要的字符串匹配出来,再计算长度.正则是用来过滤的

若只是要计算某个字符出现的次数,看看你使用的语言有没有对应的方法,没有就自己写一个循环计算一下

Masako | 园豆:1614 (小虾三级) | 2018-01-05 17:48
1

规则(规律)都没总结出来何来正则。

数据酷软件 | 园豆:371 (菜鸟二级) | 2018-01-05 17:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册