J'essaie d'apprendre des expressions régulières dans Oracle (plutôt, ma première tentative de faire quoi que ce soit avec RegEx).Requête sur les expressions régulières dans Oracle
Que signifie le caractère ^
au début? La documentation mentionne
Use the caret and dollar sign to define patterns that match the start or end of a string.
^ defines that start of a string or column 1 of the string.
Ainsi, en utilisant '^[*est]'
comme modèle, je crois comprendre que match anything which has -est as its ending
.
Cependant, quand je l'ai essayé,
SQL> select 1 from dual where regexp_like('test','^[*est]');
1
----------
1
SQL> select 1 from dual where regexp_like('best','^[*est]');
no rows selected
SQL> select 1 from dual where regexp_like('fest','^[*est]');
no rows selected
Retrait de la ^
cependant, et nous obtenons
SQL> select 1 from dual where regexp_like('fest','[*est]');
1
----------
1
SQL> select 1 from dual where regexp_like('best','[*est]');
1
----------
1
SQL> select 1 from dual where regexp_like('test','^[*est]');
1
----------
1
Pourquoi est-ce donc? Pourquoi est-ce que dans le premier cas, le match se passe pour «test», mais pas pour les autres?
Bonne référence: http://www.regular-expressions.info/ –
@OMG Ponies - Merci pour le lien. – Sathya