中括号内のテキストを取り出す 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()関数がイテレータを返しており、リスト内包表記によってそのイテレータを走査し、一致する内容すべてを取得しています。

bannerAds