我需要有关正则表达式的帮助。
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">
答案 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">'