我今天早些时候发布了一个关于同一问题的问题,但由于解决方案是切换库,而我现在遇到了另一个库的问题,所以我想打开另一个问题......希望没关系。
所以我不想匹配以下标记:
<text link="no">
...
</text>
我不在乎文本中的内容是什么,文本具有链接属性。
我现在使用 pyparsing 如下:
def content_must_not_be_empty_string(tokens):
if tokens[0]=="":
raise ParseException("content cannot be empty")
text_start = Regex('<text[^<]*>')
text_no_start = Regex('<text[^<]*link="no"[^<]*>')
text_no_end = Regex('</text>[ \t\n\r\xa0]*')
text_no_content = SkipTo(text_no_start | text_no_end | text_start)
text_no_content.setParseAction(content_must_not_be_empty_string)
text_no = nestedExpr(text_no_start,text_no_end,text_no_content)
text_no.setParseAction(somemethod)
起初,整个事情因为空令牌而循环,这就是我添加 content_must_not_be_empty 的原因。
现在它不再循环,但某些方法也没有执行。
帮助将不胜感激。