用oracle正则表达式

时间:2015-05-05 10:51:16

标签: java sql regex oracle

我希望找到一个正则表达式的模式,该模式以3个字母开头并且在使用oracle中的REGEXP_LIKE之后有10个数字 String的示例:ABC1236547890 我需要找到模式

2 个答案:

答案 0 :(得分:1)

  

以3个字母开头,在

之后有10个数字

您可以使用 REGEXP_LIKE

  • ^ - 标记开头
  • [[:alpha:]] - 字母表类
  • [[:digit:]] - 数字课程
  • {3} - 指定字符数
  • $ - 标记结尾

例如,

SQL> WITH DATA AS(
  2  SELECT 'ABC1234567890' STR FROM DUAL UNION ALL
  3  SELECT 'AB1234567890123' STR FROM DUAL UNION ALL
  4  SELECT 'ABCD123456789' STR FROM DUAL
  5  )
  6  SELECT * FROM DATA
  7  WHERE REGEXP_LIKE(STR, '^[[:alpha:]]{3}[[:digit:]]{10}$');

STR
---------------
ABC1234567890

SQL>

答案 1 :(得分:0)

select * from
(select 'abc1234567890' f
from dual)
where 
regexp_like(f, '^[a-zA-Z]{3}[0-9]{10}')