pl/sql 正则表达式验证
Posted
技术标签:
【中文标题】pl/sql 正则表达式验证【英文标题】:pl/sql regex verification 【发布时间】:2011-07-19 18:59:44 【问题描述】:如何验证仅允许数字字母和“.”、“/”、“_”、“-”等字符且仅允许 40 个字符的字符串。
我正在做类似REGEXP_LIKE(path, '[a-zA-Z0-9_./-]2,40$')
的操作,但效果不佳。
谁能帮我解决这个正则表达式?
【问题讨论】:
【参考方案1】:嗯,它不会限制为 40 个字符,因为它没有锚定到字符串的开头。试试:
REGEXP_LIKE(path, '^[a-zA-Z0-9_./-]2,40$')
除此之外,我看不出有什么明显的错误,当然假设您的意思是最小长度为 2 个字符。
【讨论】:
如果没有^
锚,它不会限制为 40,因为这样它就会匹配字符串末尾的 40 个字符。在此之前可能会有 5K 的乱码,而正则表达式仍然会找到匹配项。【参考方案2】:
可能需要添加行首特殊字符^
,即:^[a-zA-Z0-9_./-]2,40$
【讨论】:
以上是关于pl/sql 正则表达式验证的主要内容,如果未能解决你的问题,请参考以下文章