Oracle正则表达式替换为负前瞻/后瞻

Lau*_*nce 4 regex oracle

我正在编写一个PL/SQL Oracle过程,用于在列中查找可能的客户编号.客户编号长7位,可以加上前缀或后缀任意数量的字符.但是有些值包含> 7位数字,在这些情况下我想忽略它们.因此,"A/C 1234567"和"Cust1234567B"应返回客户编号1234567的匹配,但" 01234567 "和" 123456789 "不应返回.

我正在使用,\d{7}但这是在所有示例中返回一个匹配,所以我正在寻找类似的东西(?<!\d)\d{7}(?!\d)- 但不支持负向前瞻和后视.有什么建议?

zer*_*kms 5

如果没有可用的外观和外观断言,您可以尝试

(^|\D)\d{7}(\D|$)
Run Code Online (Sandbox Code Playgroud)

http://sqlfiddle.com/#!4/d41d8/12114/0