regex - Powercenter Informatica REG_EXTRACT 问题
问题描述
我在Powercenter Informatica的表达式转换中遇到关于REG_EXTRACT函数的问题。当要捕获的值以特殊字符(例如:ı 或 İ)结尾时,它无法捕获第一次出现。
成功检索KEY2
as的值VALUE2
REG_EXTRACT('KEY1~VALUE1_ı|KEY2~VALUE2|KEY3~VALUE3|', '.*KEY2~(.*?)\|.*')
的值KEY1
应该是VALUE1_ı
,但结果是VALUE1_ı|KEY2~VALUE2
REG_EXTRACT('KEY1~VALUE1_ı|KEY2~VALUE2|KEY3~VALUE3|', '.*KEY1~(.*?)\|.*')
解决方案
我建议使用
REG_EXTRACT('KEY1~VALUE1_ı|KEY2~VALUE2|KEY3~VALUE3|', 'KEY1~([^|]*)', 1)
请参阅正则表达式演示。最后一个参数 ( 1
) 告诉REG_EXTRACT
我们只获取 Group 1 的值。
正KEY1~([^|]*)
则表达式匹配KEY1~
然后捕获除|
第 1 组之外的任何零个或多个字符。
推荐阅读
- javascript - 试图返回所有对象...存储在 Javascript 中的另一个主要对象中
- apache-kafka - Nifi-1.10.0 在 Kafka-2.x 中消费消息时是否支持事务?
- docker - 可以在没有存储库的情况下使用 jib 吗?
- reactjs - 交叉点oberserver api / useEffect挂钩触发回调两次的问题
- ruby-on-rails - 枚举是否仅适用于 ruby on rails 中的整数字段?
- java - 未触发 JMS 读取器/处理器/写入器步骤后的 Spring 批处理步骤
- salesforce - 当salesforce对象中删除记录时,是否有任何salesforce触发器自动从Azure SQL中删除记录
- tailwind-css - 如何使用顺风手表启动反应应用程序
- django - RoleLeaderSerializer' 对象不可调用?
- android - Android EditText 观察者对 API 调用的时间限制?