可以使用正則表達式來提取中括號內的內容。以下是一個示例代碼:
import re
def extract_content(text):
pattern = r'\[(.*?)\]' # 匹配中括號內的內容
result = re.findall(pattern, text)
return result
text = "這是一個[示例],[請注意]提取中括號內的內容。"
content = extract_content(text)
print(content) # 輸出: ['示例', '請注意']
在上述代碼中,re.findall()
函數用于查找所有匹配的內容,并將其返回為一個列表。正則表達式'\[(.*?)\]'
用于匹配中括號[]
內的內容,.*?
表示匹配任意字符零次或多次,但盡可能少地匹配。
如果中括號內可能包含多組內容,你可以使用re.finditer()
函數來遍歷所有匹配的內容。示例如下:
import re
def extract_content(text):
pattern = r'\[(.*?)\]' # 匹配中括號內的內容
result = re.finditer(pattern, text)
content = [match.group(1) for match in result]
return content
text = "這是一個[示例],[請注意]提取[中括號]內的內容。"
content = extract_content(text)
print(content) # 輸出: ['示例', '請注意', '中括號']
在這個示例中,我們使用re.finditer()
函數來返回一個迭代器,然后通過列表推導式遍歷迭代器,獲取所有匹配的內容。