Oracle regexp_like - 只有某些字符、数字和一个符号
Oracle regexp_like - only certain characters, numbers and one symbol
SELECT count(*)
FROM dual
WHERE regexp_like ('ABC-123', '^[a-zA-Z0-9]*$');
我想使用 Oracle 的 regexp_like 只允许以下内容:
- A到Z,大小写。
- 所有数字。
- 符号-
如果您打算匹配连字符,a-z
、A-Z
和 0-9
之间的连字符不是文字连字符,它们是定义范围的功能字符。
您需要在 [...]
:
的末尾添加一个连字符
^[a-zA-Z0-9-]*$
^
要避免空匹配,请使用
^[a-zA-Z0-9-]+$
^
SELECT count(*)
FROM dual
WHERE regexp_like ('ABC-123', '^[a-zA-Z0-9]*$');
我想使用 Oracle 的 regexp_like 只允许以下内容:
- A到Z,大小写。
- 所有数字。
- 符号-
如果您打算匹配连字符,a-z
、A-Z
和 0-9
之间的连字符不是文字连字符,它们是定义范围的功能字符。
您需要在 [...]
:
^[a-zA-Z0-9-]*$
^
要避免空匹配,请使用
^[a-zA-Z0-9-]+$
^