dragon4587 2012-07-24 15:33
浏览 100
已采纳

重复字符的正则表达式是什么?

I'm writing a password strength checker in PHP, and I'm using Regular Expressions to calculate various parameters for the strength calculation. I need to be able to check the number of repeating consecutive characters in a string. For example:

baaabaaablacksheep would return 5

sillystring would return 1

and so on...
  • 写回答

2条回答 默认 最新

  • duande1985 2012-07-24 15:41
    关注

    You can use regex with \1+ to find the repeating characters, and then use strlen() to count them. Try something like:

    $str = 'baaabaaablacksheep';    
    $repeating = array();
    preg_match_all('/(\w)(\1+)/', $str, $repeating);
    
    if (count($repeating[0]) > 0) {
        // there are repeating characters
        foreach ($repeating[0] as $repeat) {
            echo $repeat . ' = ' . strlen($repeat) . "
    ";
        }
    }
    

    Output:

    aaa = 3
    aaa = 3
    ee = 2
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题