我有一个名为网页的长字符串包含这样的内容:
"<!-- \n <div class=\"section_content\"> \n </div>\n\n--> "
我想用空格替换注释符号"<!--"
和"-->"
。
但是我不能直接替换它们,因为在长字符串中还有其他真正的注释,如"<!-- comments -->"
。
我正在尝试使用
re.sub(r"<!--\s+\n\s+<div",r"\n<div",webpage,flags=re.MULTILINE)
但它根本不起作用。有人可以帮忙吗?
结果应为"\n <div class=\"section_content\"> \n </div>\n\n"
。
答案 0 :(得分:0)
这应该做:
import re
regex = r"<!--(\s*\n\s*<div[^>]*>\s*\n\s*</div>\n\n)-->"
string = "<!-- \n <div class=\"section_content\"> \n </div>\n\n--> "
res = re.sub(regex, r"\1", string)
print res
结果:
" \n <div class=\"section_content\"> \n </div>\n\n"
然后,如果您不想在字符串末尾添加换行符和空格,则可以使用字符串对象的.strip()
方法。