相关疑难解决方法(0)

为什么这个正则表达式允许插入符号?

http://regexr.com/3ars8

^(?=.*[0-9])(?=.*[A-z])[0-9A-z-]{17}$
Run Code Online (Sandbox Code Playgroud)

应该匹配"17个字母数字字符,也允许使用连字符,必须包含至少一个字母和至少一个数字"

它会正确匹配:

ABCDF31U100027743
Run Code Online (Sandbox Code Playgroud)

并正确拒绝匹配:

AB$DF31U100027743
Run Code Online (Sandbox Code Playgroud)

(以及几乎任何其他非字母数字字符)

但显然会允许:

AB^DF31U100027743
Run Code Online (Sandbox Code Playgroud)

regex

50
推荐指数
3
解决办法
3010
查看次数

用于检查简单括号匹配的Python程序

我是一个Python新手,我遇到了检查给定字符串中的简单括号"(",")"是否均匀匹配的练习.

我在这里看到了使用stack命令的例子,我还没有遇到过.所以我尝试了另一种方法.谁能告诉我哪里出错了?

def matched(str):
    ope = []
    clo = []
    for i in range(0,len(str)):
        l = str[i]
        if l == "(":
            ope = ope + ["("]
        else:
            if l == ")":
                clo = clo  + [")"]
            else:
                return(ope, clo)
    if len(ope)==len(clo):
        return True
    else:
        return False
Run Code Online (Sandbox Code Playgroud)

想法是将"("和")"堆积到两个单独的列表中,然后比较列表的长度.我还有另一个版本,其中我附加了列表ope和clo与相关的i分别持有(或).

谢谢你的时间!

python algorithm

10
推荐指数
4
解决办法
4万
查看次数

标签 统计

algorithm ×1

python ×1

regex ×1