Python正则表达式中的控制代码

时间:2015-12-28 09:14:44

标签: python regex

这是一个更新的问题 Python split by regex look behind

我需要将控制代码放在regex中,如0x0a 0x0d,或任何其他控制代码,如0x07 0x00

当我使用以下代码时,结果不正确:

import re
a = '''aaaaa
bbbb
cccc
'''
x = re.findall(r"[^%s]+%s" % (0x0a,0x0a),a,re.DOTALL)
print x

我得到[]

我可以使用Python split by regex look behind中的答案,因为控制代码是0x0a==\n,其他控制代码呢?

1 个答案:

答案 0 :(得分:1)

由@KevinGuan提醒,我发现了问题

这是正确的代码:

import re
a = '''aaaaa
bbbb
cccc
'''
x = re.findall(r"[^%s]+%s" % (chr(0x0a),chr(0x0a)),a,re.DOTALL)
print x

我也是Perler,在Perl中我们可以这样写:

$Line =~ s/,[\t ]*(\x0d?\x0a)/,$1/g;

当我移植Perl脚本Python时,我没有意识到差异