因此,作为我的应用程序的一部分,我需要它从文本文件中读取数据,并在大括号之间获取元素。

例如:



然后类似Server == Server_1,打印目录。

亲切的问候,

麦可

最佳答案

您可以尝试以下操作:

\{(.*?)\}

Explanation
  • \{ matches the character { literally (case sensitive)
  • (.*?) 1st Capturing Group
  • .*?与任何字符
  • 匹配
  • *?量词-匹配零次和无限制次数(尽可能少的次数),并根据需要扩展(惰性)
  • \}从字面上匹配字符}(区分大小写)

  • 示例代码以提取大括号内的内容:
     import re
    
    regex = r"\{(.*?)\}"
    
    test_str = ("Server_1 {\n"
        "/directory1 /directory2\n\n"
        "}\n"
        "Server_2 {\n\n"
        "/directory1\n\n"
        "/directory2\n\n"
        "}")
    
    matches = re.finditer(regex, test_str, re.MULTILINE | re.DOTALL)
    
    for matchNum, match in enumerate(matches):
        for groupNum in range(0, len(match.groups())):
            print (match.group(1))
    

    Run the code here

    关于PYTHON-捕获大括号内的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40972805/

    10-13 05:25