Я использую Oracle 10g, пытаясь исключить записи, содержащие -
или _
с кареткой в классе символов в Oracle 10g. Я могу найти записи, содержащие тире или знак подчеркивания через:Oracle regexp_like отрицает специальный char
WITH example
AS (SELECT 'AAAA-1' n FROM DUAL
UNION
SELECT 'AAAAA_1' FROM DUAL
UNION
SELECT 'AAAA' FROM DUAL)
SELECT *
FROM example
WHERE REGEXP_LIKE (n, '[_\-]')
Я знаю, что я могу получить с помощью NOT, но как я могу отрицать это с кареткой (^)
? Я пробовал [^_\-]
, который возвращает все, [^[_\-]]
, который ничего не возвращает, и [^(_\-)]
, что недействительно.
Вы можете найти HTTP: // WWW .regexper.com/полезно для проверки ответов. Это дает вам визуальное представление регулярного выражения и сэкономило мне часы – Dave