Regexp必须执行这些规则
答案 0 :(得分:2)
Oracle不支持外观。因此,如果您想使用REGEXP_LIKE
,我们需要将其拆分为两个正则表达式:
SELECT * FROM mytable
WHERE REGEXP_LIKE(mycolumn, '^.*[0-9]', 'c')
AND REGEXP_LIKE(mycolumn, '^[a-zA-Z][a-zA-Z0-9]{7,}$', 'c');
<强>解释强>
^.*[0-9]
确保至少有一位数字^
锚点断言我们位于字符串的开头[a-zA-Z]
匹配首字母[a-zA-Z0-9]{7,}
匹配7个或更多字符(确保总数为8个或更多),即ASCII字母或数字$
锚点断言我们位于字符串的末尾