Oracle REGEX功能

Inc*_*ito 2 regex oracle

我正在研究Oracle 10gR2.

我正在处理存储用户名的列.假设此列中的一个值是"Ankur".我想获取所有记录,其中username是"Ankur"的连接字符串,后跟一些数字,如"Ankur1","Ankur2","Ankur345"等.我不想获取具有诸如"Ankurab1"之类的值的记录 - 这是将某些字符连接到我的输入字符串的任何内容.

我试图使用REGEX函数来实现所需的结果,但我无法做到.

我在努力:

SELECT 1 FROM dual WHERE regexp_like ('Ankur123', '^Ankur[:digit:]$');
Run Code Online (Sandbox Code Playgroud)

有人能帮我一下吗?

Tim*_*ker 7

Oracle使用POSIX ERE(不支持常用的\d简写),因此您可以使用

^Ankur[0-9]+$
Run Code Online (Sandbox Code Playgroud)

您的版本几乎也可以使用:

^Ankur[[:digit:]]+$
Run Code Online (Sandbox Code Playgroud)

一组[...]用于字符类,一组用于[:digit:]子集.当然是+允许超过一位数.