Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 匹配封闭字符_Python 2.7 - Fatal编程技术网

Python 2.7 匹配封闭字符

Python 2.7 匹配封闭字符,python-2.7,Python 2.7,所以我试着以某种方式拆分字符。 如果我提供此字符串: text(text(adsf(asdfasdfjkl)asdfjlkasdjf)stuff)(morestuff stuff) 我想把它分成: ['text','(text(adsf(asdfasdfjkl)asdfjlkasdjf)stuff)',(morestuff stuff)] 我的代码是: def pair_char(left, right, start, text, exclusive=False, verbose=False):

所以我试着以某种方式拆分字符。 如果我提供此字符串:

text(text(adsf(asdfasdfjkl)asdfjlkasdjf)stuff)(morestuff stuff)

我想把它分成:

['text','(text(adsf(asdfasdfjkl)asdfjlkasdjf)stuff)',(morestuff stuff)]

我的代码是:

def pair_char(left, right, start, text, exclusive=False, verbose=False):
    package = []
    for e, c in enumerate(text):
        left_c = right_c = 0
        if text[e] == left:
            left_c += 1
            marker = start = e
            while text[marker+1] != right or left_c > right_c:
                marker += 1
                if verbose:
                    print left_c, right_c, text[marker], left, right, text[marker]==left, text[marker]==right
                if marker+1 >= len(text):
                    break
                if text[marker] == left_c:
                    print "left_c"
                    left_c += 1
                if text[marker] == right_c:
                    print "right_c"
                    right_c += 1
            end = marker
            if exclusive:
                package.append(text[start+1:end])
            else:
                package.append(text[start:end+1])
            e = end
    package = "".join(package)
    return package

有什么建议吗?

您为此编写了代码吗?是的,但它工作不正常,它将同一序列拆分多次。例如:与其使用“(adsf(asdfasdfjkl)asdfjlkasdfj)stff),“它将输出”(adsf(asdfasdfjkl)asdfjlkasdfj)stff),“(asdfasdfjkl)”等@khudermSo您想要在同一级别上分割括号表达式吗?最好是在您的问题中包含您尝试的任何内容,这样会有很多人来帮助您。否则,人们会将其视为希望由他人完成工作的人。这很可能就是为什么有人投了反对票。好吧,我更新了@khuderm。你为此编写了代码吗?是的,但它工作不正常,它多次拆分同一序列。例如:与其使用“(adsf(asdfasdfjkl)asdfjlkasdfj)stff),“它将输出”(adsf(asdfasdfjkl)asdfjlkasdfj)stff),“(asdfasdfjkl)”等@khudermSo您想要在同一级别上分割括号表达式吗?最好是在您的问题中包含您尝试的任何内容,这样会有很多人来帮助您。否则,人们会将其视为希望由他人完成工作的人。这就是为什么有人投了反对票。好吧,我更新了@khuderm。