Regex 除了括号的第二部分外,如何处理文本的所有部分?

Regex 除了括号的第二部分外,如何处理文本的所有部分?,regex,notepad++,Regex,Notepad++,我有一个以下格式的文本: ((IP-MAT(联合vnnd) (NP-NOM(D das)(N麦汁)) (床上战争) (PP(p-bey) (NP-DAT(NPR Gott))) (,)) 我想删除除内括号第二部分以外的所有文本部分。在本例中,我的目标如下: vnnd das wort war bey Gott , 我使用了以下代码: serach for: (?:(?!\n\n).(?<!\n\n))*?\(([$\w,.+-]+)\s+[$\w,.*?-]+\)+|(?:(?!\n\n

我有一个以下格式的文本:

((IP-MAT(联合vnnd)

(NP-NOM(D das)(N麦汁))

(床上战争)

(PP(p-bey)

(NP-DAT(NPR Gott)))

(,))

我想删除除内括号第二部分以外的所有文本部分。在本例中,我的目标如下:

vnnd das wort war bey Gott ,
我使用了以下代码:

serach for: (?:(?!\n\n).(?<!\n\n))*?\(([$\w,.+-]+)\s+[$\w,.*?-]+\)+|(?:(?!\n\n).(?<!\n\n))+$
replace with: $1
serach for:(?:(!\n\n)。(?)?

但是它只保存了第一部分。我需要第二部分。我如何更改代码以达到我的目标?

为什么不只匹配你想要的字符

\w+(?=\))

结果:

vnnd
das
wort
war
bey
Gott
在记事本里++

查找内容:
*?([^]+?)\)+
更换:
$1


上面的正则表达式查找空格后的任何内容,然后后跟
一次或多次。

但我不想删除匹配的单词。我需要保存它们。@SoheilaB我的意思是:查找其他字符并删除它们对于正则表达式来说很困难,为什么不直接获取要保留的字符呢?因为我的文本中有数百万个括号。我很难匹配它们,然后手动将它们分开。我需要匹配的单词,但已保存匹配的单词。