📌  相关文章
📜  检查三个或更多连续的相同字符或数字(1)

📅  最后修改于: 2023-12-03 14:55:43.533000             🧑  作者: Mango

检查三个或更多连续的相同字符或数字

在编程中有时需要检查一个字符串中是否存在连续的三个或更多的相同字符或数字,这种情况下可以使用正则表达式进行匹配。

正则表达式

以下是一个可以匹配三个或更多连续相同字符或数字的正则表达式:

(.)\1\1+

这个正则表达式匹配任意一个字符或数字(用 (.) 表示),然后用 \1 表示要匹配和括号里的第一个字符或数字相同的字符或数字,最后用 + 表示匹配一个或多个这样的字符或数字。

Python实现

下面是一个使用Python实现检查三个或更多连续相同字符或数字的函数代码:

import re

def has_consecutive_duplicates(str):
    pattern = r"(.)\1\1+"
    if re.search(pattern, str):
        return True
    else:
        return False

这个函数使用Python的正则模块 re 来匹配字符串中是否存在连续的三个或更多相同字符或数字。函数返回 True 表示存在这样的连续字符或数字,返回 False 表示不存在。

测试

下面是一个测试函数用例:

def test_has_consecutive_duplicates():
    assert has_consecutive_duplicates("aaabbbccc") == True
    assert has_consecutive_duplicates("abcccdef") == True
    assert has_consecutive_duplicates("abcdefff") == True
    assert has_consecutive_duplicates("abc12def") == False
    assert has_consecutive_duplicates("") == False

测试结果表明,函数可以正确地检测字符串中是否存在连续的三个或更多相同字符或数字。