1

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

1234

11 9834 55

6526347

11

207 555

777

34 3333 987

34678

4

1 回答 1

5

这个正则表达式似乎可以做到:

select nr
from numbers
where nr::text ~ '([0-9])(\1)';

([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

虽然我只认为 11 和 777 是“Schnapszahl”

于 2015-10-23T07:59:15.257 回答