正则表达式重新超过某个字符数

时间:2015-03-30 06:20:01

标签: python regex

example = re.sub('「[^)]*」','', example)

如果“example”超过一定数量的字符,我只需要替换。我想我应该能够使用修饰符来做到这一点,但我似乎无法弄清楚如何使用修饰符。

2 个答案:

答案 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功能。根据长度,您可以定义自己的功能并返回您想要的功能。