我有一个包含许多指向某些页面和图像的URL的字符串:
La-la-la https://example.com/ la-la-la https://example.com/example.PNG
我需要把它转换成:
La-la-la <a href="https://example.com/">https://example.com/</a> la-la-la <img src="https://example.com/example.PNG">
图像格式是不可预测的,它们可以是.png
.JPEG
等,并且每个字符串可以多次找到任何链接
我知道,这里有一些奇怪的javascript示例,但我不知道如何将它们转换为python。
但我发现这是一个起点:
url_regex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig
img_regex = /^ftp|http|https?:\/\/(?:[a-z\-]+\.)+[a-z]{2,6}(?:\/[^\/#?]+)+\.(?:jpe?g|gif|png)$/ig
大thx求助
可以使用以下正则表达式:
(https?.*?\.com\/)(\s+[\w-]*\s+)(https?.*?\.com\/[\w\.]+)
(https?.*?\.com\/)
第一个捕获组。捕获http
或https
,可以是.com
和正斜杠/
。你知道吗(\s+[\w-]*\s+)
第二个捕获组。捕获空格、字母数字字符和hypens以及空格。如果需要,可以向字符集添加更多字符。你知道吗(https?.*?\.com\/[\w\.]+)
第三捕获组。捕获扩展名的http
或https
,最长.com
,正斜杠/
,字母数字字符和句号.
。同样,如果您需要其他字符,可以将更多字符添加到此捕获组中的字符集。你知道吗您可以测试regex livehere。你知道吗
或者,如果您需要可变的URL和域,则可以使用:
(\w*\:.*?\.\w*\/)(\s+[\w-]*\s+)(\w*\:?.*?\.\w*\/[\w\.]+)
其中第一个和第三个捕获组现在确实匹配任何后跟冒号
:
的字母数字字符,以及任何高达.
、字母数字字符\w
和正斜杠的字符。你可以测试这个here。你知道吗您可以将捕获的组替换为:
<a href="\1">\1</a>\2<img src="\3">
其中
\1
、\2
和\3
分别是对捕获的组1、2和3的反向引用。你知道吗Python代码段:
如果您愿意,您可以在没有
regex
的情况下执行此操作。你知道吗输出
相关问题 更多 >
编程相关推荐