[英]Regular expression for removing text with parenthesis
Take this text for example泣(な)き出(だ)した
, I want to remove the furigana programmatically (ie.泣き出した
).以这个文本为例,
泣(な)き出(だ)した
,我想以编程方式删除假名(即。泣き出した
)。 I tried我试过了
re.sub(r"\([^()]*\)", "", '泣(な)き出(だ)した')
but it returns泣した
instead.但它反而返回了
泣した
。 What is the better regular expression?什么是更好的正则表达式?
The parentheses in your character class are half-width (半角) instead of full-width (全角) parentheses.字符 class 中的括号是半角(半角)而不是全角(全角)括号。
Replacing them will fix your problem:更换它们将解决您的问题:
import re
re.sub(r"\([^()]*\)", "", '泣(な)き出(だ)した')
# '泣き出した'
You should try re.sub(r"\(.*?\)", "", '泣(な)き出(だ)した')
, which uses the non-greedy quantifier *?
您应该尝试使用非贪婪
re.sub(r"\(.*?\)", "", '泣(な)き出(だ)した')
*?
. .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.