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条)

报告相同问题?

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化