有没有可能用正则表达式删除块注解而不删除换行符?
假设我有这样一段文字:
text = """Keep this /* this has to go
this should go too but leave empty line */
This stays on line number 3"""
我想出了这个正则表达式:
text = re.sub(r'/\*.*?\*/', '', text, 0, re.DOTALL)
但这给了我:
Keep this
This stays on line number 3
我想要的是:
Keep this
This stays on line number 3
能做到吗?
1条答案
按热度按时间o8x7eapl1#
我们可以对当前的逻辑做一个小小的修改,使用lambda回调函数代替
re.sub
:这将打印:
lambda函数中的替换逻辑作用于
/* ... */
注解块,它去掉了所有的字符 *,除了换行符的 *,保留了换行符结构,同时删除了中间注解行的所有其他内容。