我需要使用Python脚本修改C源文件。我该如何更改此字符串:
#define MY_STRING 0
为:
#define MY_STRING 1
使用Python正则表达式?
理想情况下,解决方案将在数值之前容纳未知数量的空格。
(基本上我不知道如何指定原始字符串减去新字符串中的数字值。)
答案 0 :(得分:3)
在数字和文本之间使用\s+
任意数量的空格。
code = re.sub('define MY_STRING\s+0', 'define MY_STRING 1', code);
如果你想在原始字符串之前保留相同数量的空格,那么你必须捕获它然后在替换时使用它。
code = re.sub('(define MY_STRING\s+)0', "\\1 1", code);
## \\1 is the captured group on regex inside (...)