为什么这个符合预期,但未能分?单行s工作正常。
import re
s = """<script>
wut</script>"""
print(re.match('<script(.*?)</script>', s, re.DOTALL).groups())
# Returns ('>\nwut',)
print(re.sub('<script(.*?)</script>', '', s, re.DOTALL))
# Returns <script>
# wut</script>
我只想了解这一点;无需建议美丽的汤或手动解析。
答案 0 :(得分:3)
re.sub
的4h参数是count not flags,你可以使用:
>>> print re.sub('<script.*?</script>', '', s, 0, re.DOTALL)
''
这里我们传递count=0
,这意味着任何替换#。
re.sub(pattern, repl, string, count=0, flags=0)