检查 Python 中字符串中的序号

Check for sequential numbers in string in Python

我正在使用 Python 2.7,想知道有没有办法检查给定的字符串是否包含至少 4 个向上或向下的连续数字?

我能想到的唯一方法是检查每个字符及其后面的 3 个字符,看看它们是否是数字,然后查看每个字符之间的差异是否为 1。

还有其他方法吗?

提前致谢!

def has_sequence(s):
    """Returns sequence if found, empty list otherwise."""
    pos = 0
    stack = []
    while pos != len(s):
        try:
            val = int(s[pos])
        except ValueError:
            pos += 1
            stack = []
            continue

        if not stack:
            stack.append(val)
        elif stack[-1] + 1 == val:
            stack.append(val)
            if len(stack) == 4:
                return stack
        else:
            stack = []

        pos += 1

    return []