python regex模式意外结束

2024-10-02 12:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题很简单。我想解析这样一个字符串:

string = 'SENT (ADVWH Pourquoi) (NP (DET ce) (NC theme)) (PONCT ?)'

我想使用regex(我不是专家,我以前用过几次)。我想提取第一级括号,即,我希望结果是:

(ADVWH Pourquoi)
(NP (DET ce) (NC theme))
(PONCT ?)

我使用了这个regex,在regex101上测试成功,但它甚至不想编译:

re.compile(r"\(([^()]|(?R))*\)")

我还尝试了这些仍然适用于regex101的方法:

re.compile(r"\(([^\(\)]|(?R))*\)")
re.compile(r"\((([^\(\)]|(?R))*)\)")

我总是从python那里得到相同的答案:模式的意外结束。你知道吗

我真的不明白这里的问题是什么,为什么它在regex101上工作而不在python上工作。你知道吗

提前多谢了!你知道吗


Tags: 字符串restringnpthemeregexsentce

热门问题