2014-02-19 20 views
0

我有这样的(编码图像)的字符串: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAGQCAYAAAA+89ElAAAABmJLR…AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ApW+4QEIeKApAAAAABJRU5ErkJggg==获取多的信息从一个字符串与正则表达式

如何,我可以得到:

  • 图像类型(pngimage/png );

  • 散列(iVBORw0KGgoAA…5ErkJggg==);

我知道如何使用正则表达式,但不是在这个水平......


我发现的唯一的解决办法是:

data:image.([^;]+)类型;

[,]([\S]+) for hash;

...但我认为我们可以做得更好?

+1

你对正则表达式的爆炸可能是一个潜在的解决方案死心塌地。 –

+0

我忘了爆炸,我会尝试。 – guest459473

回答

0

不知道字符串格式的,这只是一个简单的正则表达式

# '~data:image[^/]+/(\w+);\w+,([\S]+)~' 
# or 
# "~data:image[^/]+/(\\w+);\\w+,([\\S]+)~" 

data:image [^/]+/
(\w+)    # (1), type image 
; \w+ ,    # encoding 
([\S]+)    # (2), image hash 
相关问题