[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: regex en bash



Très drôle et instructif !

Il faut lire complètement le man pour comprendre :
An additional binary operator, =~, is available, with the same precedence as == and !=.
When it is used, the string to the right of the operator is considered an extended regular
_expression_ and matched accordingly (as in regex(3)).  The return value is  0  if  the
string  matches  the  pattern,  and 1 otherwise.

Du coup si :
[[ 'abcd' =~ '^ab' ]] && echo ok || echo KO
KO

On a ceci qui répond bien :
[[ 'abcd' =~ ^ab ]] && echo ok || echo KO
ok


petite blague de Noël…

Le 21 déc. 2017 à 18:13, Daniel Caillibaud <ml@lairdutemps.org> a écrit :

Bonjour,

Je sais que bash a un opérateur =~ pour les regex, mais j'ai du mal à faire
ce que je veux avec et je continue avec sed / awk / grep,

Mais faire du
 [[ -z "$(echo $truc | sed -Ee 's/ma regex//')" ]]
est assez idiot quand on pourrait faire du
 [[ "$truc" =~ 'ma regex' ]]

mais je n'arrive pas à utiliser ^ et $ dans mes regex, alors que man bash
semble dire que ça doit fonctionner comme d'habitude.

Pourquoi

$ [[ 'abcd' =~ '^ab' ]] && echo ok || echo KO
KO

$ [[ 'abcd' =~ 'cd$' ]] && echo ok || echo KO
KO

??

(je sais, avec zsh ces deux commandes renvoient ok comme on pourrait s'y
attendre…)

--
Daniel

Vous ne sauriez croire avec quelle facilité l'impossible
se fait dès qu'il est nécessaire.
Anatole France


-- 
Pierre Malard

   « Si, comme le disait le général de Gaulle, la France n'avait pas été la
   France... on peut logiquement penser que tous les français auraient été
   des étrangers » ;-)
                                                                               Pierre Dac
   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,4-  ) )-,_. ,\ (  `'-'
 '---''(_/--'  `-'\_)   πr

perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--

Attachment: signature.asc
Description: Message signed with OpenPGP


Reply to: