繁体   English   中英

如何在 Teradata 中使用 regexp_instr 使得搜索开始的 position 结束? 与 INSTR 不同,它不将 -1 作为 position 参数

[英]How to use regexp_instr in Teradata such that start position of the search start at the end? Unlike INSTR its not taking -1 as position argument

如何在 Teradata 中使用 regexp_instr 使得搜索开始的 position 结束? 与 INSTR 不同,它不将 -1 作为 position 参数?我试图从字符串的末尾获取模式的出现。 与 INSTR 不同,它不将 -1 作为 position 参数。

正则表达式不是那样工作的。 相反,您使用 $ 将您的模式锚定到字符串的末尾。 因此,如果您想要所有以 XYZZY 结尾的字符串,则您的正则表达式为 XYZZY$。

EDIT OP 显示它是所需的最后一个字母数字字符的 position。 因此,使用正则表达式查找一个字母数字后跟不定数量的非字母数字后跟字符串末尾。

使用最小公分母正则表达式函数,字母数字是[A-Za-z0-9] ,或者,如果我们记得在调用中打开“i”标志,我们可以将其缩短为[a-z0-9] 类似地,非字母数字是[^a-z0-9] ,它们的任何可能数量是[^a-z0-9]* 最后,字符串的结尾是$ 把它们放在一起,

Regexp_instr(mytextcolumn,'[a-z0-9][^a-z0-9]*$',1,1,0,'i')

零 arg 返回匹配的第一个 position。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM