example = re.sub('「[^)]*」','', example)
如果“example”超过一定数量的字符,我只需要替换。我想我应该能够使用修饰符来做到这一点,但我似乎无法弄清楚如何使用修饰符。
答案 0 :(得分:0)
可以使用预测
来完成example = re.sub('(?=^.{5})「[^)]*」','', example)
(?=^.{5})
向前看断言。检查字符串是否包含5
(例如)字符。
此处只有在字符串最少为5
个字符时才会发生替换
或强>
通用版本可以写成
length = "5"
re.sub('(?=^.{' + length +'})[^)]*','', example)
示例强>
>>> example = "hello"
>>> re.sub('(?=^.{3})[^)]*','', example)
''
>>> example = "hello"
>>> re.sub('(?=^.{10})[^)]*','', example)
'hello'
答案 1 :(得分:0)
def repl(matchobj):
if len(matchobj.group(0))>5:
return #something
example = re.sub('「[^)]*」',repl, example)
您可以使用re.sub
功能。根据长度,您可以定义自己的功能并返回您想要的功能。