【发布时间】:2013-06-10 04:40:02
【问题描述】:
我正在编写一个 PL/SQL Oracle 过程,它在列中查找可能的客户编号。客户编号的长度为 7 位数,并且可以带有任意数量的字符前缀或后缀。但是一些值包含 > 7 位数字,在这些情况下,我想忽略它们。所以 "A/C 1234567" 和 "Cust1234567B" 应该返回与客户编号 1234567 的匹配项,但是 "01234567" 和 " 123456789”不应该。
我正在使用\d{7},但这会返回所有示例的匹配项,因此我正在寻找类似于(?<!\d)\d{7}(?!\d) 的内容 - 但不支持负前瞻和后瞻。有什么建议吗?
【问题讨论】:
-
(?:^|\D)\d{7}(?:\D|$)? -
@zerkms:我认为您应该将其发布为答案。 :-)