两组生成html标签

时间:2018-12-16 06:16:57

标签: python python-3.x

我需要有关正则表达式的帮助。

https://regex101.com/r/r3pTh0/2

我可以在以下正则表达式中使用它,但仍需要帮助:

\<\%= image_tag image_url\(\“(.+?)\”\)|\“(.+?)\” %>

替换为:

<img src="\1" alt="\2">

python代码:

originalData = re.sub('<%= image_tag image_url("(.+?)")+, :alt => "(.+?)\" %>', r'<img src="\1" alt="\2">', originalData, flags=re.MULTILINE)

但是它似乎并没有替代任何东西。

有一个字符串:

<%= image_tag image_url(“/blog/assets/images/2018-11-15/dribbble-developer-interview-jeffrey-chupp.png”), :alt => “Developer interview with Jeffrey Chupp, Director of Engineering at Dribbble” %>

用html img标签替换它:

<img src="/blog/assets/images/2018-11-15/dribbble-developer-interview-jeffrey-chupp.png" alt="Developer interview with Jeffrey Chupp, Director of Engineering at Dribbble">
  1. 在图像链接的开头添加http://somesite.com会很难吗?

1 个答案:

答案 0 :(得分:0)

您遇到此错误是因为您在regex101.com上选择了regex的PHP版本。

只需切换到Python版本,该网站就会为您修复正则表达式。该命令应为:

originalData = re.sub(r"\<\%= image_tag image_url\(\“(.+?)\”\)+\, :alt => “(.+?)\” %>", r'<img src="\1" alt="\2">', originalData, flags=re.MULTILINE)

要在图像src中添加域前缀,只需在第二个正则表达式遍历中将src="替换为src="https://somesite.com

或者您可以在替换字符串之前添加域,例如'<img src="https://somesite.com\1" alt="https://somesite.com\2">'