Python正则表达式匹配括号内的内容及删除括号内的内容

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

要匹配括号内的内容,可以使用正则表达式和圆括号 () 进行分组匹配。例如,使用正则表达式 ((.?)) 可以匹配括号内的任意字符,其中 .? 表示匹配任意字符,? 表示匹配前面的字符 0 次或 1 次,并且尽可能少地匹配。

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

import re

text = "This is (a test) string with (multiple) sets of (parentheses)"
pattern = r"\((.*?)\)"

result = re.findall(pattern, text)

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

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

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

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

import re

text = "This is (a test) string with (multiple) sets of (parentheses)"
pattern = r"\(.*?\)"

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

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

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

相关文章