我正在自定义 python VM 之上构建汇编程序。
我正在使用正则表达式来解析我需要能够表示换行文字的程序集平面文件。
在平面文件中,该行将如下所示:
line .BYT '\n'
和正则表达式:
((?P<label>[a-zA-Z0-9]+)\s+)?((?P<type>\.[a-zA-Z]+)\s+)(?P<value>(-?[0-9]+)|'(.{1,2})')
正则表达式工作正常 - 除了当它遇到换行符时它返回\\n
而不是\n
.
我尝试使用替换来清理值:
ipdb> ch
'\\n'
ipdb> ch.replace(r'\\', r'\')
*** SyntaxError: EOL while scanning string literal (<stdin>, line 1)
ipdb> ch.replace('\\\\', '\\')
'\\n'
我怎样才能得到内存中表示的原始换行符?