Python 正则表达式匹配一个或两个组或两个组

Python 正则表达式匹配一个或两个组或两个组,python,regex,regex-group,Python,Regex,Regex Group,我想要一个可以匹配一个组或两个组的正则表达式。下面是它的外观示例。要么像这样: (关键) 或者像这样: (关键“价值”) 到目前为止,我已经找到了一个与后一个示例相匹配的表达式。但我不知道如何修改它,使其与第一个或后一个匹配。这是: \((?P<property_key>[^() ]+) "(?P<property_value>[^"]*)"\) \(?P[^()]+)“(?P[^”]*)”\) 我相信您正在寻找正则表达式模式 \((?P<property_key

我想要一个可以匹配一个组或两个组的正则表达式。下面是它的外观示例。要么像这样:

(关键)

或者像这样:

(关键“价值”)

到目前为止,我已经找到了一个与后一个示例相匹配的表达式。但我不知道如何修改它,使其与第一个或后一个匹配。这是:

\((?P<property_key>[^() ]+) "(?P<property_value>[^"]*)"\)
\(?P[^()]+)“(?P[^”]*)”\)

我相信您正在寻找正则表达式模式

\((?P<property_key>\w+)(?:\s+"(?P<property_value>\w+)")?\)
\(?P\w+(:\s+)(?P\w+)?\)

regex
是这个(全部)正确的答案吗?为什么不简单地匹配括号中的表达式,然后
split(x,1)
在空格上分割它们呢?哦!你想出了一个多么简洁的解决方案!非常感谢你,它解决了我所有的问题。愿原力与你同在,年轻的学徒。你能解释一下吗?@shaikmoeed:See”“解释”位于