Python 正则表达式 - 检查嵌套循环的字符串

输入:包含一段代码的字符串。


目标:查找字符串输入是否包含:-


嵌套循环

例如


fruits = ["apple", "banana", "cherry"]

for x in fruits:

  print(x)

  for y in x:

     print(y)

而……为


我无法专门获取嵌套循环的正则表达式。


任何帮助/建议将不胜感激!


qq_遁去的一_1
浏览 140回答 1
1回答

小唯快跑啊

基于@Kevin 对“ ast.parse ”的建议我可以使用def hasRecursion(tree):    for node in [n for n in ast.walk(tree)]:            nodecls = node.__class__            nodename = nodecls.__name__            if isinstance(node, (ast.For, ast.While)):                for nodeChild in node.body:                         #node.body Or ast.iter_child_nodes(node)                    if isinstance(nodeChild, (ast.For, ast.While)):                        return Truereturn Falseexpr="""for i in 3:   print("first loop")   for j in i:        print("nested loop")print('normal')"""tree = ast.parse(expr, mode="exec")print(hasRecursion(tree))ast.parse 代码示例
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python