python正则匹配括号以及内容

2023-03-01 00:00:00 匹配 正则 括号

如果您想要匹配括号及其内容,可以使用圆括号 () 来分组匹配,并使用反斜杠 \ 进行转义。

以下是一些常见的正则表达式来匹配括号及其内容:

  • 匹配圆括号及其内容:([^()])
    1. ( 表示匹配左圆括号。
    2. [^()]
    表示匹配除了左右圆括号之外的任意字符,使用 [^()] 表示除了左右圆括号以外的任意字符,使用 * 表示匹配前面的字符 0 次或多次,即可以匹配任意数量的除了左右圆括号以外的字符。
    3. ) 表示匹配右圆括号,使用反斜杠进行转义。

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

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 中,并输出结果。其中 ([^()]*) 表示匹配圆括号及其内容。

需要注意的是,上述正则表达式只适用于单层括号匹配,如果需要匹配多层嵌套的括号,则需要使用更为复杂的正则表达式。例如,使用正则表达式 (((?>[^()]+|(?1))*)) 可以匹配多层嵌套的括号。

相关文章