2017-08-28 1 views

Répondre

1

Une paire de [...] crée une séquence d'échappement bracket expression. Les classes de caractères POSIX, telles que [:alpha:], [:alnum:], ne peuvent être déclarées que dans une expression entre crochets.

[:digit:] est une classe de caractère POSIX, utilisé dans une expression de support comme [x-z[:digit:]].

Utilisez la classe de caractères dans une expression Posix de support:

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

enter image description here

Voir un online demo.

('1a', '[:alnum:]') semble acceptable.

Notez que lorsque vous utilisez '[:alnum:]', le moteur regex comme il parse expression régulière support correspondant à tous les caractères/chaînes de caractères définies dans l'expression de support. C'est à dire. le [:alnum:] regex correspond à n'importe quel caractère qui est soit :, a, l, n, u ou m. Puisque votre entrée a a (1a) le moteur regex renvoie une correspondance valide une fois qu'il rencontre a dans l'entrée.

+0

D'accord merci, pouvez-vous également donner la raison pour laquelle l'utiliser devrait être dans un autre support. Comme '('1a', '[: alnum:]')' semble acceptable. –

+0

Non, vous vous trompez, voir ma mise à jour. –