1
爲什麼'1A'不能在字母數字類中考慮?在[:alnum:]中不接受'1A':Oracle常規表達式中的POSIX字符類
SELECT 'yes'
FROM dual
WHERE REGEXP_LIKE('1A', '[:alnum:]');
爲什麼'1A'不能在字母數字類中考慮?在[:alnum:]中不接受'1A':Oracle常規表達式中的POSIX字符類
SELECT 'yes'
FROM dual
WHERE REGEXP_LIKE('1A', '[:alnum:]');
甲對未逸出[...]
創建bracket expression。 POSIX字符類,如[:alpha:]
,[:alnum:]
,只能在括號表達式中聲明。
[:digit:]
是POSIX字符類,用在括號表達式中,如[x-z[:digit:]]
。
使用POSIX字符類括號表達式內:
SELECT 'yes' FROM dual WHERE REGEXP_LIKE('1A', '[[:alnum:]]')
見的online demo。
('1a', '[:alnum:]')
似乎可以接受。
注意,當使用'[:alnum:]'
,正則表達式引擎解析它作爲常規括號表達式匹配括號表達式中所定義的任何字符/字符範圍。即[:alnum:]
正則表達式匹配:
,a
,l
,n
,u
或m
的任何單個字符。由於您的輸入有a
(1a
),正則表達式引擎在輸入中遇到a
後會返回有效匹配。
好的,謝謝,你還可以給出爲什麼使用它應該在其他支架的原因。正如'('1a','[:alnum:]')'似乎是可以接受的。 –
不,你錯了,看我的更新。 –