这是一个更新的问题 Python split by regex look behind
我需要将控制代码放入正则表达式中,例如 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
,那么其他控制码呢?
最佳答案
@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 时,我没有意识到差异
关于python - Python 正则表达式中的控制代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34490684/