我正在努力使用PHP正则表达式来匹配主字符串中的子字符串,但是有一些条件
子字符串应该:
??
喜欢例如:
输入字符串:4455330000002211223311223377885233
匹配:22112233112233
输入字符串:441553300000022
匹配:无(因为它有3个空字节)
输入字符串:112233000000005511220011
匹配:无(因为它有3个空字节)
输入字符串:11??0000002255
匹配:无(因为它中有3个空字节且其中有??
)
输入字符串:426F6D650000010001020000
匹配:426F6D650000010001020
(因为它最多有3个空字节和7个连续的非空字节
输入字符串:426F6D650000010001000000
匹配:无(因为没有7个连续的非空字节)
正确匹配这些正确的正则表达式是什么?
答案 0 :(得分:0)
您可以尝试使用此正则表达式:
preg_match("/^[a-f0-9]{1,}$/is",$str)
答案 1 :(得分:0)
不是说它是最好的解决方案,但是这样的事情也可以在没有REGEXP的情况下完成,以防它可以帮到你:
$str = explode ('??', $string);
if (count ($str) > 1) // It includes at least one '??'
$str = explode ('00', $string);
if (count ($str) > 4) // It includes more than 3 times the '00' pattern
foreach ($str as $sub_string) {
if (count ($sub_string > 13)) // One of the sub_string between the '00' patterns contains 7 bytes as wanted
}
如果您稍后再回到代码中,则维护起来会变得更容易。