Skip to main content
 首页 » 编程设计

python之用于去除 C 标识符周围的(双)下划线的正则表达式

2025年05月04日29arxive

我在 python 中有以下代码片段

import re 
lines = "#define __xyz_pqr_tqe_ope_H__"  
re.sub('(__)([a-zA-Z0-9_]+)(__)', '\1ab\2\3null', lines) 
print(lines) 

我只想在看到#define 或#undef 时使用正则表达式将开始和结束的双下划线/单下划线(如果可能)替换为空白

这意味着我的输出应该是这样的

#define xyz_pqr_tqe_ope_H 

请您参考如下方法:

import re 
 
lines = "#define __T194_MTS_MB1_PROTOCOL_H__"   
lines = re.sub(r'( _{1,2})|(_{1,2}$)', ' ', lines)   
print(lines) 

并且re不要就地修改字符串,您应该返回它。