我有一串名字|值对:
'clientName|img_0196.jpg||mime|||size|3195562||serverFileName|uplo/ad/548a5b35003bf.img_0196.jpg'
我试图通过以下方式提取clientName的值,即img_0196.jpg:
clientName := substring(eml from '%clientName.#"[^|]+#"%' for '#');
我尝试了很多模式(不同的转换' |'),但它们都会产生NULL或' clientName'。
非常感谢。
答案 0 :(得分:0)
从我对文档的阅读中,你所拥有的应该是有用的,尽管它也不适合我(在9.3中)。
我for
版substring
版本遇到了很多问题,我只是不相信%
和_
与正则表达式引擎的混合奇怪的#"
解析。
不确定您是否知道,但是您可以删除for
并获得纯POSIX正则表达式,subtring
将返回整个匹配或第一个捕获paren(如果有)。所以要得到你想要的东西:
substring( eml from 'clientName\|([^|]*)')