Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/01/2016, à 10:03

ar barzh paour

[Résolu] équivalence 2

Résolu : pour simplifier
dans [x-y]    - désigne un intervalle et en plus on a B =~ [A-C] mais on a pas  B=~[C-A]
( voir post #3 )

j'ai beau relire le manuel je ne trouve pas
j'ai encore buté sur ceci

#!/bin/bash
shopt -s extglob
 Date="2014-12-31:01-59-58"
modele1="^[12]([0-9]{3})[-: ]"
modele2="^[12]([0-9]{3})[:- ]"

                           echo "            $Date"
[[ $Date =~ $modele1 ]] && echo "    OK pour $modele1"
[[ $Date =~ $modele2 ]] || echo "pas OK pour $modele2"

echo "fin"
read g
exit 0

résultat

            2014-12-31:01-59-58
    OK pour ^[12]([0-9]{3})[-: ]
pas OK pour ^[12]([0-9]{3})[:- ]
fin

ce qui m'a fait cherché pourquoi j'avais une erreur dans mon script c'est que ici
[-: ] semble différent de [:- ]

il y a certainement une explication  ....

Dernière modification par ar barzh paour (Le 12/01/2016, à 09:02)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#2 Le 11/01/2016, à 10:16

pingouinux

Re : [Résolu] équivalence 2

Bonjour,
Il faut placer le tiret au début ou à la fin ([-: ] ou [: -]), sinon il prend ça comme un intervalle (genre [a-z]).

Hors ligne

#3 Le 11/01/2016, à 18:32

ar barzh paour

Re : [Résolu] équivalence 2

punaise !!
j'avais fait les huit combinaisons possible y compris [ -:] qui lui aussi fonctionnait

modele4="^[12]([0-9]{3})[ -:]"
[[ $Date =~ $modele4 ]] && echo "    OK pour $modele4"

résultat

    OK pour ^[12]([0-9]{3})[ -:]

le tiret se trouve entre espace et deux points , normal ... mais effectivement ce n'est pas le test escompté dans ce cas , sinon on teste la présence de espace ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9  :
===> mettre tiret au début ou en fin !!!!
merci pingouinux


je marque résolu
lol c'est en reforgeant qu'on redevient forgeron lol

Dernière modification par ar barzh paour (Le 11/01/2016, à 18:34)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne