PostgreSQL - 查询重复数字相同的所有多位数(repdigit,"Schnapszahl")

Ste*_*fan 1 regex postgresql numbers string-function

我只想要带有标记数字的条目

1234

11 9834 55

6526347

11

207 555

777

34 3333 987

34678

a_h*_*ame 5

这个正则表达似乎这样做:

select nr
from numbers
where nr::text ~ '([0-9])(\1)';
Run Code Online (Sandbox Code Playgroud)

([0-9])为单个数字创建一个组.(\1)引用正则表达式中的第一个组.所以([0-9])(\1)意味着:" 一个数字后跟相同的值 "

您的样本数据的输出是:

with numbers (nr) as (
  values 
    (1234),(11983455),(6526347),(11),(207555),(777),(343333987),(34678)
)
select nr
from numbers
where nr::text ~ '([0-9])(\1)';

nr       
---------
 11983455
       11
   207555
      777
343333987
Run Code Online (Sandbox Code Playgroud)

虽然我只考虑11和777是"Schnapszahl"