2017-08-28 44 views

回答

1

甲對未逸出[...]創建bracket expression。 POSIX字符類,如[:alpha:][:alnum:],只能在括號表達式中聲明。

[:digit:]是POSIX字符類,用在括號表達式中,如[x-z[:digit:]]

使用POSIX字符類括號表達式內:

SELECT 'yes' FROM dual WHERE REGEXP_LIKE('1A', '[[:alnum:]]') 

enter image description here

見的online demo

('1a', '[:alnum:]')似乎可以接受。

注意,當使用'[:alnum:]',正則表達式引擎解析它作爲常規括號表達式匹配括號表達式中所定義的任何字符/字符範圍。即[:alnum:]正則表達式匹配:,a,l,n,um的任何單個字符。由於您的輸入有a1a),正則表達式引擎在輸入中遇到a後會返回有效匹配。

+0

好的,謝謝,你還可以給出爲什麼使用它應該在其他支架的原因。正如'('1a','[:alnum:]')'似乎是可以接受的。 –

+0

不,你錯了,看我的更新。 –

相關問題