中括号内のテキストを取り出す Python の方法は?
正規表現を使用して、角括弧で囲まれた文字列を取得できます。以下にサンプルコードを示します。
import re
def extract_content(text):
pattern = r'\[(.*?)\]' # 匹配中括号内的内容
result = re.findall(pattern, text)
return result
text = "这是一个[示例],[请注意]提取中括号内的内容。"
content = extract_content(text)
print(content) # 输出: ['示例', '请注意']
前述のコードでは、正規表現`\[(.*?)\]`を使って四角括弧`[]`内のコンテンツを照会し、それらをリストとして返します。正規表現では、`.*?`は任意の文字をゼロ回以上照合しますが、できるだけ照合しません。
中括号内に複数のグループが含まれる可能性がある場合、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()関数がイテレータを返しており、リスト内包表記によってそのイテレータを走査し、一致する内容すべてを取得しています。