我希望找到一个正则表达式的模式,该模式以3个字母开头并且在使用oracle中的REGEXP_LIKE之后有10个数字 String的示例:ABC1236547890 我需要找到模式
答案 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}')