• Regex et Unicode
    https://blog.smarchal.com/regex-et-unicode

    De l’intérêt des caractères Unicode et des classes de caractères pour les expressions régulières, en particulier pour la « capture » des caractères accentués.

    NB : en SPIP les choses sont légèrement plus compliquées :
    – les accolades doivent êtres échappées par un \
    – les codes caractères complets du type \x0028 ne fonctionnent pas (sauf entre accolades échappées)

    Ce qui donne par exemple pour capturer toute expression entre parenthèses (y compris les parenthèses d’Unicode \x0028 et \x0029 :
    [(#VAL{le machin (entre parenthèses) 1 2 3}|replace{\x28.*\x29, ''})] => le machin 1 2 3 OK

    [(#VAL{le machin (entre parenthèses) 1 2 3}|replace{\x0028.*\x0029, ''})] => le machin (entre parenthèses) 1 2 3 fail

    [(#VAL{le machin (entre parenthèses) 1 2 3}|replace{\x\{28\}.*\x\{29\}, ''})]=> le machin 1 2 3 OK

    [(#VAL{le machin (entre parenthèses) 1 2 3}|replace{\x\{0028\}.*\x\{0029\}, ''})]=> le machin 1 2 3 OK

    #expression_régulière #regexp #code_caractère #Unicode #SPIP