PYTHON-捕获大括号中的内容

2024-05-17 07:00:30 发布

您现在位置:Python中文网/ 问答频道 /正文

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

例如:

Server_1 {

/directory1 /directory2

}

Server_2 {

/directory1

/directory2

}

然后,如果Server == Server_1,打印目录。

谨致问候

迈克尔


Tags: 目录应用程序元素server读取数据括号文本文件问候
1条回答
网友
1楼 · 发布于 2024-05-17 07:00:30

你可以试试这个:

\{(.*?)\}

Explanation

  1. \{ matches the character { literally (case sensitive)
  2. (.*?) 1st Capturing Group
  3. .*?匹配任何字符
  4. *?量词-在零次和无限次之间匹配,尽可能少地匹配,根据需要扩展(惰性)
  5. \}逐字匹配字符}(区分大小写)

提取花括号内内容的示例代码:

 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

相关问题 更多 >