我有一个像这样的字符串(编码图像):
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAGQCAYAAAA+89ElAAAABmJLR…AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ApW+4QEIeKApAAAAABJRU5ErkJggg==
我怎样才能得到:
图片类型(png
,不 image/png
);
哈希(iVBORw0KGgoAA…5ErkJggg==
);
我知道如何使用正则表达式,但不是在这个级别......
我找到的唯一解决方案是:
类型 data:image.([^;]+)
;
[,]([\S]+)
;
......但我认为我们可以做得更好吗?
答案 0 :(得分:0)
不确定字符串格式,这只是一个简单的正则表达式
# '~data:image[^/]+/(\w+);\w+,([\S]+)~'
# or
# "~data:image[^/]+/(\\w+);\\w+,([\\S]+)~"
data:image [^/]+ /
( \w+ ) # (1), type image
; \w+ , # encoding
( [\S]+ ) # (2), image hash