python,re.sub每个'x'字符添加一个空格

时间:2017-11-12 03:03:03

标签: python regex python-3.x

string = 'ABCDEFGHIJLM'

我正在尝试使用

获得以下结果
re.sub(SOME CODE HERE):
'ABC DEF GHI JLM'

有可能吗?

2 个答案:

答案 0 :(得分:1)

只需匹配三个字母“(\ w \ w \ w)”并将它们替换为自己加上一个空格(“\ 1”):

'ABC DEF GHI JLM '

打印:

print re.sub(r'(\w\w\w)(?!$)', r'\1 ', 'ABCDEFGHIJLM')

为了摆脱尾随空格,你可以对“不结束字符串(?!$)”进行负面预测:

'ABC DEF GHI JLM'

打印:

group_size = 2
print re.sub(r'(\w{%d})(?!$)' % group_size, r'\1 ', 'ABCDEFGHIJLM')

如果要使组大小成为参数,可以在\ w之后将字母数指定为量词({n})以定义大小。 E.g:

'AB CD EF GH IJ LM'

打印:

<div>
  <p class="myClass">
    This is
    <div>
      <a href="#">random</a>
    </div>
  </p>
</div>

答案 1 :(得分:0)

以这种方式使用re findalljoin

 s='ABCDEFGHIJLM'
 n=3
 pattern= '.'*n 
 ' '.join(re.findall(pattern, s))
'ABC DEF GHI JLM'