正则表达式匹配大括号里面的内容

2023-03-01 00:00:00 内容 匹配 括号

要匹配大括号 {} 内的内容,可以使用正则表达式和大括号 {} 进行分组匹配。例如,使用正则表达式 {([^{}])} 可以匹配大括号内的任意字符,其中 [^{}] 表示匹配除了大括号外的任意字符,* 表示匹配前面的字符 0 次或多次。

以下是使用正则表达式匹配大括号内的内容的示例代码:

import re

text = "This is {a test} string with {multiple} sets of {braces}"
pattern = r"\{([^{}]*)\}"

result = re.findall(pattern, text)

print(result)  # Output: ['a test', 'multiple', 'braces']

在上述代码中,首先定义了正则表达式 pattern 来匹配字符串中的大括号内的内容。然后使用 re.findall() 方法在文本 text 中查找匹配结果,将结果存储在变量 result 中,并输出结果。其中 {([^{}]*)} 表示匹配大括号内的任意字符。

如果需要删除大括号及其内部内容,可以使用 re.sub() 方法将匹配结果替换为空字符串。

以下是使用正则表达式删除大括号及其内部内容的示例代码:

import re

text = "This is {a test} string with {multiple} sets of {braces}"
pattern = r"\{[^{}]*\}"

result = re.sub(pattern, "", text)

print(result)  # Output: "This is  string with  sets of "

在上述代码中,首先定义了正则表达式 pattern 来匹配字符串中的大括号及其内部内容。然后使用 re.sub() 方法将匹配结果替换为空字符串,将结果存储在变量 result 中,并输出结果。其中 {[^{}]*} 表示匹配大括号及其内部内容,并使用空字符串进行替换。

相关文章