求正则匹配一句话中的,3个连续的数字或者字母,注意必须是连续的而不是重复的!哈哈我是字母的abcabcabcabc,不需要匹配(尽管a出现了3次,但是没有连续)哈哈我是字母的aaabcbc,需要匹配(因为

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 06:55:19

求正则匹配一句话中的,3个连续的数字或者字母,注意必须是连续的而不是重复的!哈哈我是字母的abcabcabcabc,不需要匹配(尽管a出现了3次,但是没有连续)哈哈我是字母的aaabcbc,需要匹配(因为
求正则匹配一句话中的,3个连续的数字或者字母,注意必须是连续的而不是重复的!
哈哈我是字母的abcabcabcabc,不需要匹配(尽管a出现了3次,但是没有连续)
哈哈我是字母的aaabcbc,需要匹配(因为a是连续的3次)
哈哈我是数字的123123123,不需要匹配(没有连续)
哈哈我是数字的11122332233(需要匹配1连续了3次)
不需要输出匹配的是什么,只要输出true false就可以了

求正则匹配一句话中的,3个连续的数字或者字母,注意必须是连续的而不是重复的!哈哈我是字母的abcabcabcabc,不需要匹配(尽管a出现了3次,但是没有连续)哈哈我是字母的aaabcbc,需要匹配(因为
#^.*?([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]);