📅  最后修改于: 2023-12-03 14:55:43.533000             🧑  作者: Mango
在编程中有时需要检查一个字符串中是否存在连续的三个或更多的相同字符或数字,这种情况下可以使用正则表达式进行匹配。
以下是一个可以匹配三个或更多连续相同字符或数字的正则表达式:
(.)\1\1+
这个正则表达式匹配任意一个字符或数字(用 (.)
表示),然后用 \1
表示要匹配和括号里的第一个字符或数字相同的字符或数字,最后用 +
表示匹配一个或多个这样的字符或数字。
下面是一个使用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
测试结果表明,函数可以正确地检测字符串中是否存在连续的三个或更多相同字符或数字。