ZKX's LAB

怎样在java正则匹配数字时如何让重复的只出现一次,例如2011211789,2011211789匹配后只出现一次 正则匹配重复数字

2021-04-06知识5

求正则匹配一句话中的,3个连续的数字或者字母,注意必须是连续的而不是重复的! #^.*?([a-zA-Z\\d])\\1\\1.*?这个表示你的字符串中必须有连续出现的3个相同字符或者相同数字比如aaa 111如果还要限制出现3个且只能是3个,4个5个等都不行那就([a-zA-Z\\d])\\1\\1?\\1).*?比如实例代码:s1=\"哈哈我是字母的abcabcabcabc111a;s2=\"哈哈我是字母的aaabcbc;s3=\"哈哈我是数字的123123123;s4=\"哈哈我是数字的11122332233;preg_match('#([a-zA-Z\\d])\\1\\1#',$s1,$arr1);print_r(\"\".$arr1[0]);preg_match('#([a-zA-Z\\d])\\1\\1#',$s2,$arr2);print_r(\"\".$arr2[0]);preg_match('#([a-zA-Z\\d])\\1\\1#',$s3,$arr3);print_r(\"\".$arr3[0]);preg_match('#([a-zA-Z\\d])\\1\\1#',$s4,$arr4);print_r(\"\".$arr4[0]);

正则表达式:(\\w)((?=\\1\\1\\1)(\\1))+ 比如字符串 aaaa正则表达式:(\\w)(?\\1\\1\\1)(\\1))+首先匹配的位置是第一个a,开始正则匹配,先是(\\w)匹配 第一个a成功,那么第一个子匹配的值就是a,即 \\1 的值为 a,现在匹配的位置是第二个a,继续往下匹配正则,然后是.

怎样在java正则匹配数字时如何让重复的只出现一次,例如2011211789,2011211789匹配后只出现一次 这个东西用正则是无法实现的,正则的作用是匹配格式。你是不想有重复的数字出现,建议用集合存储数据,然后添加新数据的时候判断集合中是否已经存在。

#正则匹配重复字符串#正则匹配重复数字

qrcode
访问手机版