我不明白为什么我的代码不起作用,有什么建议吗?
$pattern_c_sap='/'.'-/';
$local='.................';
$local_array = explode( '', $local );
for($i=0; $i<=$local_length; $i++){
if(preg_match($pattern_c_sap , $local_array[$i]) && preg_match($pattern_c_sap , $local_array[$i+1])) {
return false;
}
}
我有以下错误:正则表达式应该是
[/'.'-/]
在拆分每个字母时,我应该使用 str_split 而不是爆炸。
您可以使用
如下所示的preg_match
:
if(preg_match('/(.)'1/', $local, $match){
echo "contains consecutive characters";
}
(.)
捕捉到一个角色。
'1
是指捕获的角色。
所以,如果你有 AA
,(.)
捕获A
,'1
将意味着A
。所以正则表达式将检查AA
.
警告:explode():此脚本中第 5 行的空分隔符
$local_array = explode('', $local);
修复将是爆炸结构上的正确分隔符
if (preg_match('/(.)'1/', $str))
echo "Has 2 same characters consecutively!";
$pattern = "/('.|'-)/";
$local='.................';
if (preg_match($pattern, $local, $matches)){
$num_of_occurences = count($matches)-1 ;
echo "Number of occurences is {$num_of_occurences}" ;
}
使用正则表达式量词连续多次匹配一个字符。 像/'.{2}/
.这将连续两次匹配.
。否则/g{4}/
将连续四g
匹配.