pl / sql正则表达式验证

时间:2011-07-19 18:59:45

标签: sql regex plsql

如何验证只允许数字字母和'。','/','_',' - '等字符的字符串,并且只允许40个字符。

我正在做这样的事情REGEXP_LIKE(path, '[a-zA-Z0-9_./-]{2,40}$'),但效果不佳。

任何人都可以帮助我使用这个正则表达式吗?

2 个答案:

答案 0 :(得分:3)

嗯,它不会限制为40个字符,因为它没有锚定到字符串的开头。尝试:

REGEXP_LIKE(path, '^[a-zA-Z0-9_./-]{2,40}$')

除此之外我没有看到任何明显的错误,当然假设你的意思是最小长度为2个字符。

答案 1 :(得分:2)

可能需要添加行首字符^,即:^[a-zA-Z0-9_./-]{2,40}$