====== Opérations ensemblistes ====== ^ Nom ^ Exemple ^ Fonction ICU ^ | union | union([a-z], [A-Z]) = [a-zA-Z] | [[http://icu-project.org/apiref/icu4c/uset_8h.html#acb550f469f833d41c14536ea11bf54be|uset_addAll]] | | intersection | intersection([0-9], [4-5]) = [4-5] | [[http://icu-project.org/apiref/icu4c/uset_8h.html#a6878a72dcd2249c49924ec98c922ba2e|uset_retainAll]] | | difference | difference([0-9], [4-5]) = [0-36-9] | [[http://icu-project.org/apiref/icu4c/uset_8h.html#a762f9d6a016dd5a59a9a6701255e5e96|uset_removeAll]] | | inverse | inverse([\x40-\5A]) = [\x00-\x3F\x5B-\U12FFFF] | [[http://icu-project.org/apiref/icu4c/uset_8h.html#a648e93c5d2893cc65b0eb80f3162544e|uset_complement]] | ====== Les classes ====== ===== Posix ===== ^ Représentation ^ Signification ^ Équivalent ^ | [:alnum:] | caractères alphanumériques | [A-Za-z0-9] | | [:alpha:] | caractères alphabétiques | [A-Za-z] | | [:blank:] | espace et tabulation | [ \t] | | [:cntrl:] | caractères de contrôle | [\x00-\x1F\x7F] | | [:digit:] | chiffres décimaux | [0-9] | | [:graph:] | caractères visibles | [\x21-\x7E] | | [:lower:] | lettres minuscules | [a-z] | | [:print:] | caractères visibles et espace | [\x20-\x7E] | | [:punct:] | ponctuations | %%[!"#$%&'()*+,-./:;?@[\\\]_`{|}~]%% | | [:space:] | caractères blancs | [ \t\r\n\v\f] | | [:upper:] | lettres majuscules | [A-Z] | | [:xdigit:] | chiffres hexadécimaux | [A-Fa-f0-9] | ===== Unicode ===== Quex : * \P{} * \N{} (<=> \P{Name=}) : [[http://icu-project.org/apiref/icu4c/uchar_8h.html#a02d95691ae880cfdfb4e75d11f87794d|u_charFromName]] * \G{} (<=> \P{General_Category=}) * \E{} ICU : * \p{} et sa négation \P{} (ie [^\p{}]) * \u<4 chiffres hexa> * \U<8 chiffres hexa> * \x<1 à 2 chiffres hexa> * \<1 à 3 chiffres octaux> * \a, \b, \f, \n, \r, \t, \\, \v Equivalents PCRE : * \w = \p{Alphabetic}\p{M}\p{Nd}\p{Pc} * \s = \p{Whitespace} * \X = %%[[:Zl:][:Zp:][:Cc:][:Cf:][:Grapheme_Extend:]]%% UChar32 c; UErrorCode status; status = U_ZERO_ERROR; c = u_charFromName(U_UNICODE_CHAR_NAME, "LATIN SMALL LETTER N WITH CEDILLA", &status); // U_EXTENDED_CHAR_NAME, U_CHAR_NAME_ALIAS if (U_FAILURE(status)) { // ... } u_fprintf(ustdout, "%04X %C\n", c, c); ====== Spéciaux ====== * A/B : A s'il est suivi de B (B n'étant pas consommé, il compte pour le prochain token) * A/B/ : B, précédé d'un A * A/B/C : B, précédé d'un A __et__ suivi d'un C * ^A : un A en début de ligne * A$ : un A en fin de ligne * \X * \U * \a, \b, \f, \n, \r, \t, \r, or \v * \ * <> : événement de fin de fichier * <> : événement d'erreur * ... ====== Fonctions ====== TODO (yylex, yyless, yymore, etc) ====== Grammaire ====== TODO