我想找到4到10次之间的任何字符,我使用REGEXP_LIKE
但它只对一个字符'a'有效,我想找到所有字母:
SELECT regex_test_name
FROM regex_test
WHERE REGEXP_LIKE(regex_test_name, 'a{4,10}')
答案 0 :(得分:1)
使用[[:alpha:]]
REGEXP_LIKE(regex_test_name, '[[:alpha:]]{4,10}');
答案 1 :(得分:1)
如果你想重复相同的角色4到10次,你必须捕捉角色,然后检查它是否重复,这是匹配的正则表达式:
'([a-zA-z])\1{4,10}'
以下将返回' aaaa'
regexp_substr('hfhweffkjnaaaaagpeg','([a-zA-z])\1{4,10}')
答案 2 :(得分:0)
SELECT regex_test_name
FROM regex_test
WHERE REGEXP_LIKE(regex_test_name, '([[:alpha:]])\1{3,9}')
受dnoeth's answer的启发,但由于它捕获了第一个字符,因此指定3-9个后续重复意味着总共发生4-10个连续出现。