温馨提示×

python怎么提取中括号内的内容

小亿
120
2023-11-23 06:35:06
栏目: 编程语言

可以使用正则表达式来提取中括号内的内容。以下是一个示例代码:

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()函数来返回一个迭代器,然后通过列表推导式遍历迭代器,获取所有匹配的内容。

0