Python正则表达式匹配括号内的内容及删除括号内的内容
要匹配括号内的内容,可以使用正则表达式和圆括号 () 进行分组匹配。例如,使用正则表达式 ((.?)) 可以匹配括号内的任意字符,其中 .? 表示匹配任意字符,? 表示匹配前面的字符 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 中,并输出结果。其中 (.*?) 表示匹配括号及其内部内容,并使用空字符串进行替换。
相关文章