testString = ("<h2>Tricks</h2>"
"<a href=\"#\"><i class=\"icon-envelope\"></i></a>")
import re
re.sub("(?<=[<h2>(.+?)</h2>\s+])<a href=\"#\"><i class=\"icon-(.+?)\"></i></a>", "{{ \\1 @ \\2 }}", testString)
这会产生:invalid group reference
.
使替换 take only \\1
, only extracts envelope
,这让我认为后视被忽略了。有没有办法从lookbehind中提取一些东西?
我期待制作:
<h2>Tricks</h2>
{{ Tricks @ envelope }}