我有一個正則表達式,它正在尋找與我們有效字符的白名單不匹配的字符。實際上,這是在文本列中查找錯誤的數據。這似乎是在換行匹配:爲什麼此Oracle正則表達式匹配換行符?
SELECT REGEXP_SUBSTR (text_col, '[^A-Za-z0-9()\\*+=.,:\/!%#\n\r&''\"@?\ -]+')
AS match_text
FROM text_table
WHERE REGEXP_LIKE (text_col, '[^A-Za-z0-9()\\*+=.,:\/!%#\n\r&''\"@?\ -]+')
爲什麼是包含所有要退回的有效字符行和match_text只是在這些情況下(或多個新行)換行?
這將是有益的,如果你提供一些數據的例子,無論是其應該和不應該匹配的行。謝謝。 – 2015-04-03 15:27:32
'abc?'應該匹配,'abc''不應該。唯一真正的問題是換行符。 – Randyaa 2015-04-03 15:32:13
也許try \ x0a和\ x0d換行而不是(或者除了)\ n和\ r? – Paul 2015-04-03 15:53:13