如何检查字符串是否在 php 中连续两次包含相同的字母


How do I check if a String contains the same letter twice consecutively in php?

我不明白为什么我的代码不起作用,有什么建议吗?

$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匹配.