![](/img/trans.png)
[英]Oracle SQL - REGEXP_LIKE contains characters other than a-z or A-Z
[英]Regexp_Like to Validate Uppercase Characters [A-Z] and Numbers [0-9] Only
我想在Oracle SQL中使用regexp_like
查询,该查询仅验证大写字符[AZ]和数字[0-9]
SELECT *
FROM dual
WHERE REGEXP_LIKE('AAAA1111', '[A-Z, 0-9]')
选择语句probalby应该看起来像
SELECT 'Yes' as MATCHING
FROM dual
WHERE REGEXP_LIKE ('AAAA1111', '^[A-Z0-9]+$')
这意味着从第一个^到最后一个$字母,每个字符都应为大写字母或数字。 重要说明:Z和0之间没有逗号或空格。 +
表示至少一个或多个字符。
编辑:基于Barbaros的答案,另一种选择方式将是可能的
SELECT 'Yes' as MATCHING
FROM DUAL
WHERE regexp_like('AAAA1111','^[[:digit:][:upper:]]+$')
编辑:添加了DBFiddle
您可以使用 :
select str as "Result String"
from tab
where not regexp_like(str,'[[:lower:] ]')
and regexp_like(str,'[[:alnum:]]')
在POSIX [^[:lower:]]
模式中not regexp_like
地方表示消除了包含小写字母的字符串,
和regexp_like
与POSIX [[:alnum:]]
图案代表接受字符串不带符号
( 由于[[:lower:] ]
末尾的空格,仅包含字母和数字甚至都不包含空格 。 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.