3
因此,作爲我的應用程序的一部分,我需要它從文本文件中讀取數據,並在大括號之間獲取元素。PYTHON - 捕獲大括號內的內容
e.g:
的Server_1 {
/directory1中/ directory2
}
的Server_2 {
/directory1中
/directory2
}
事遂所願,如果Server == Server_1
,打印目錄。
親切的問候,
邁克爾
因此,作爲我的應用程序的一部分,我需要它從文本文件中讀取數據,並在大括號之間獲取元素。PYTHON - 捕獲大括號內的內容
e.g:
的Server_1 {
/directory1中/ directory2
}
的Server_2 {
/directory1中
/directory2
}
事遂所願,如果Server == Server_1
,打印目錄。
親切的問候,
邁克爾
你可以用這個嘗試:
\{(.*?)\}
\{ 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))