永发信息网

在JAVA中,用正则表达式 匹配指定数字次数的代码怎么写呢,求助!求助

答案:1  悬赏:30  手机版
解决时间 2021-11-13 10:43
在JAVA中,用正则表达式 匹配指定数字次数的代码怎么写呢,求助!求助
最佳答案
涉及(统计数量)这类有语义的就不该用正则了。
直接逐个字符过滤反而更快。
按规则:
1、2、4各最多出现1次或不出现;
3最多出现2次以下或不出现;
其他符号非法;

设c计数
public class Test {
static public boolean validate(String t){
int c[]=new int[4];
for(char ch:t.toCharArray()){
switch(ch){
case '1':case '2':case '3':case '4':
c[ch-'1']++;
if(c[0]>1 || c[1]>1 || c[3]>1 || c[2]>2 ) return false;
break;
default:
return false;
}
}
return c[0]<=1 && c[1]<=1 && c[2]<=2 && c[3]<=1;
}
static public void main(String argv[]){
String a[]={ "12112","1211","142","1411","133","1321",
"133","1312", "13312", "1362", "1332" };
for(String t:a)
if(validate(t)) System.out.println(t);
}
}
========
142
133
133
1332
========
另你例中有1211,出现有3个1所以不合法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
初音未来3D裸眼怎么回事
我家的幸福往事评语
怎样举报没有营业执照的公司?
开心英语u盘可以拷贝到电脑用吗
我是跑小卡的(4米2),普货车,能拉三氯乙烯
高考电子档案不见~~~~超急~~~~
口服脊灰滴剂之后宝宝一直拉肚子是怎么回事啊
怎样向顾客解释瓷砖胚体中的黑色颗粒
“爱而得其人,乃最佳之事;爱而失其人,则仅
204与85的最大公约数为_____________.
此文人画士,心知其意,未可明诏大号以绳天下
御史侍郎尚书哪个官职大分别几品
CE认证是什么,EMC和LVD的具体含义
移动P∪k码查询
小开荒地征地补偿
推荐资讯
1929年美国股市为什么突然暴跌?说下大的背景
形容靓丽的词语有什么?
长虹电视3D42A2000IV开不了机是甚么故障谢谢
怎样写感想??
淮安市哪有学习中国象棋地方
建筑工程平屋顶的几种排水方式,你用
我家的富士宝电磁炉型号是IH—S1902C 最大功
AKG k450现在还值的买吗?还是买魅族的HD50,
中国邮政储蓄银行(岗上积镇支行)地址在哪,我
糖耐量测试2小时值为什么比平时餐后两小时值
高三收取高额补课费合法吗?强制学生购买学校
中国建设银行24小时自助银行(文武路分理处)地
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?