检查html文档中的正确标签(打开和关闭)

时间:2019-05-02 20:12:50

标签: python html stack

我正在用python编写代码,该代码使用堆栈检查HTML文档中正确的打开和关闭标签,并且我感到困惑,因为当我运行所拥有的程序时什么也没打印。也可以是我正在使用的编辑器,但是我不确定我哪里出错了。

我已经创建了一个堆栈,该堆栈应该遍历HTML代码中的每一行并查找我已经记下的标签,但是也没有任何内容可以打印出来/我不确定是否应该打印出任何内容,因为HTML代码是否均衡?

仅作为我代码外观的参考,我认为最后几行是搞砸了,但我不确定它到底是什么

 def check_html_balance(text):
    text = '''
     <html>
       <head>
        <title>
            Example
        </title>
    </head>
    <body>
        <h1> Hello, world </h1>
    </body>
</html>'''

class Stack:
    s = Stack()
    x = text.replace('<', ' <')
    y = x.replace('>', '> ')
    a = []
    for w in y.split():
        if re.search('</''', w):
            a.append(w)
    b = [w for w in a if "/" not in w]
    c = [w for w in a if "/" in w]
    for w in y.split():
        if w in b:
            s.push(w)
        elif not s.is_empty() and (w in c) and w.replace('/', '') == s.peek():
            s.pop()
        print(s)
check_html_balance(text)

如果html是平衡的,它应该打印出true,否则,应该打印出false。我意识到我没有在任何地方添加任何东西,这很有意义,为什么我没有输出。我会把它们放在if语句中,还是将它们放到最后?

0 个答案:

没有答案