我需要在 PostgreSQL 中构建一个查询,并且需要查找所有包含 6 位数字的文本条目(例如000999
、019290
、998981
、234567
等)。问题是数字在字符串的开头或结尾不是必需的。
我试过但没有工作:
[0-9]{6}
- 返回超过 6 位的数字的一部分(?:(?<!\d)\d{6}(?!\d))
- postgresql 不知道lookbehind[^0-9][0-9]{6}[^0-9]
及其变化,但无济于事。
构建我自己的 Perl/C 函数并不是一个真正的选择,因为我没有所需的技能。知道目前可以使用什么正则表达式或其他让我无法理解的技巧吗?
编辑
输入样本:
aa 0011527 /CASA
-> 不应该返回任何东西aa 001152/CASA
-> 应该返回001152
aa001152/CASA
-> 应该返回001152
aa0011527/CASA
-> 不应该返回任何东西aa001152 /CASA
-> 应该返回001152