用于版本字符串的POSIX正则表达式

问题描述 投票:0回答:1

我有一个无法控制的源,我想过滤掉其中包含某些字符的所有字符串。例如,在这些之外:

9
8.1.0
5.0
9.0
5.1
8.0.0
7.0 (cdfsdsdsd)
5.0.2
8
7.0.1
7.1
6.0
7.0
Over 32323
7.0 rdx K9 bnsm
9.2.3
8.oo
pp
unknown
8.0_vgfe10051988
6.0.1
8.0.0-derv10051988
9.1
9.0.0
8.0.1
7.0_xccv10051988
7.1.3
10.0
7.0.X.1.C
8.0.0_vged10051988
4.4.4
7.1.2
7.0 [NKL 24 | ABC]
8.1
7.1.1
5.1.1
7.0_Jgrd10051988
9.XXX
9.0.1
8.0
5.0.1
8.1.1
10

其中,我只需要那些只包含数字和。的字符串。

9
8.1.0
5.0
9.0
5.1
8.0.0
5.0.2
8
7.0.1
7.1
6.0
7.0
9.2.3
6.0.1
9.1
9.0.0
8.0.1
7.1.3
10.0
4.4.4
7.1.2
8.1
7.1.1
5.1.1
9.0.1
8.0
5.0.1
8.1.1
10

我尝试过许多正则表达式,但似乎没有什么通用的,此正则表达式也提供[0-9]*.?[0-9]字符串。我正在工作的是^(\*|\d+(\.\d+){0,2}(\.\*)?)$,但这不是POSIX。

如何获得在Redshift上也可以使用的POSIX?

regex amazon-redshift posix regex-group
1个回答
0
投票

通过查看Amazon文档,似乎Redshift支持POSIX ERE。那你可以试试:

^[[:digit:]]+(\.[[:digit:]]+)*$
© www.soinside.com 2019 - 2024. All rights reserved.