Oracle regexp_like-仅某些字符、数字和一个符号

Oracle regexp_like-仅某些字符、数字和一个符号,regex,oracle,plsql,preg-match,Regex,Oracle,Plsql,Preg Match,我想使用Oracle的regexp_,但只允许以下情况: A到Z,大写和小写 所有数字 符号- 如果要匹配连字符,则a-z、a-z和0-9之间的连字符不是文字连字符,而是定义范围的功能字符 您需要在[…]的末尾添加连字符: SELECT count(*) FROM dual WHERE regexp_like ('ABC-123', '^[a-zA-Z0-9]*$'); 要避免空匹配,请使用 ^[a-zA-Z0-9-]*$ ^ 所有已发布的内容都是程序说明。然而,我们需

我想使用Oracle的regexp_,但只允许以下情况:

  • A到Z,大写和小写
  • 所有数字
  • 符号-

  • 如果要匹配连字符,则
    a-z
    a-z
    0-9
    之间的连字符不是文字连字符,而是定义范围的功能字符

    您需要在
    […]
    的末尾添加连字符:

    SELECT count(*)
    FROM dual
    WHERE regexp_like ('ABC-123', '^[a-zA-Z0-9]*$');
    
    要避免空匹配,请使用

    ^[a-zA-Z0-9-]*$
               ^
    

    所有已发布的内容都是程序说明。然而,我们需要你去。我们不能确定你想从我们这里得到什么。请在您的帖子中加入我们可以回答的有效问题。提醒:请确保您知道,要求我们为您编写程序和建议是离题的。@andreas777:Try
    WHERE regexp_like('ABC-123','^[a-zA-Z0-9-]*$)
    
    ^[a-zA-Z0-9-]+$
                 ^