用于删除带括号的文本的正则表达式

Regular expression for removing text with parenthesis

以此文本为例 泣(な)き出(だ)した,我想以编程方式删除注音假名(即 泣き出した)。我试过了

re.sub(r"\([^()]*\)", "", '泣(な)き出(だ)した')

但它 returns 泣した 而不是。什么是更好的正则表达式?

你的字符 class 中的括号是半角 (半角) 而不是全角 (全角) 括号。

更换它们将解决您的问题:

import re

re.sub(r"\([^()]*\)", "", '泣(な)き出(だ)した')

# '泣き出した'

你应该试试 re.sub(r"\(.*?\)", "", '泣(な)き出(だ)した'),它使用 non-greedy 量词 *?