string - 在 Pattern 中,带有'|'的正规表达式 子字符串

  显示原文与译文双语对照的内容
0 0

我有一个name|value对的字符串:

'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'。
帮助非常感谢。

时间:原作者:5个回答

0 0

从我的文档阅读,你应该工作,虽然它不是为我,( 在 9.3 ) 。

我有很多 for 版本的substring,我只是不信任 %_的整个混合和 正规表达式 引擎和奇怪的#" 解析。

不确定,但是可以以删除 for 并获取纯的POSIX 正规表达式,subtring 会返回整个匹配或者第一个捕获括号。 为了得到你想要的东西:

substring( eml from 'clientName|([^|]*)')
原作者:
...