我嘗試使用正規表達式要檢查字串中有無控制字元或CHR(128~159、160),
不過在測試使用單一大寫英字Z就會出現符合的情況(查詢結果是1,小寫z則結果為0),
想請教大神這是為什麼呢?
NLS_CHARACTERSET=AL32UTF8
SELECT COUNT(1)
FROM dual
WHERE REGEXP_LIKE('Z', '[[:cntrl:]]|[\x80-\x9F]|\xA0');
REGEXP_LIKE(srcstr, pattern [,match_option])
在此函数中:
srcstr:搜索值
pattern:正则表达式
match_option:用于更改默认匹配的选项。可以包含以下一个或多个值:
“c”:使用区分大小写的匹配(默认值)
“i”:使用区分大小写的匹配
“n”:允许匹配任何字符的运算符
“m”:将源字符串作为多行处理
使用正则表达式
測試看看