Regexp différence entre /^app[\/]jquery.js/ et /^app/jquery.js/

Le
Une Bévue
Bonjour,

Si je teste mes expressions :
/^app[\/]jquery.js/
et
/^app/jquery.js/

avec la string "app/jquery.js" ou "app/autre-chose.js"
j'obtiens bien match dans le premier cas et pas de match dans le second
quelque soit l'expression régulière utilisée.

du coup je ne comprend pas ce que pourrait apporter [\/] à la place du
bêbête /

quelqu'un aurait des lumières ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #26406618
Le 05/08/2016 à 17:58, Une Bévue a écrit :
Bonjour,
Si je teste mes expressions :
/^app[\/]jquery.js/
et
/^app/jquery.js/
avec la string "app/jquery.js" ou "app/autre-chose.js"
j'obtiens bien match dans le premier cas et pas de match dans le second
quelque soit l'expression régulière utilisée.
du coup je ne comprend pas ce que pourrait apporter [\/] à la place du
bêbête /...
quelqu'un aurait des lumières ?


Bonjour,
C'est-à-dire que la première expression proposée va accepter
appjquery.js alors que la deuxième non.
Est-ce bien le sens de la question ?
Une Bévue
Le #26406638
Le 05/08/2016 à 22:19, Gloops a écrit :
C'est-à-dire que la première expression proposée va accepter
appjquery.js alors que la deuxième non.
Est-ce bien le sens de la question ?

oui, tout-à-fait !
je n'avais pas vu ça, la compatibilité pour win*...
merci bien.
Guiche
Le #26406746
Une Bévue
Le 05/08/2016 à 22:19, Gloops a écrit :
C'est-à-dire que la première expression proposée va accepter
appjquery.js alors que la deuxième non.

je n'avais pas vu ça, la compatibilité pour win*...

Via HTTP on ne transmet que des slashes et tous les navigateurs
que j'ai vus sous Windows s'en sortent avec des slashes dans les
chemins (souvent relatifs). J'ai loupé quelque chose
?
----Android NewsGroup Reader----
http://usenet.sinaapp.com/
SAM
Le #26406761
Le 08/08/16 à 06:27, Guiche a écrit :
Une Bévue
Le 05/08/2016 à 22:19, Gloops a écrit :
C'est-à-dire que la première expression proposée va accepter
appjquery.js alors que la deuxième non.

je n'avais pas vu ça, la compatibilité pour win*...

Via HTTP on ne transmet que des slashes et tous les navigateurs
que j'ai vus sous Windows s'en sortent avec des slashes dans les
chemins (souvent relatifs). J'ai loupé quelque chose
?

Je pratique très peu Windows qui me hait, mais ...
Ça marche aussi pour les chemins en "local" ?
file://C:monsitelerepertoirecefichier.html
== file://C:/monsite/lerepertoire/cefichier.html
???
Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Gloops
Le #26406759
Le 08/08/2016 à 12:19, SAM a écrit :
Le 08/08/16 à 06:27, Guiche a écrit :
Une Bévue
Le 05/08/2016 à 22:19, Gloops a écrit :
C'est-à-dire que la première expression proposée va accepter
appjquery.js alors que la deuxième non.

je n'avais pas vu ça, la compatibilité pour win*...

Via HTTP on ne transmet que des slashes et tous les navigateurs
que j'ai vus sous Windows s'en sortent avec des slashes dans les
chemins (souvent relatifs). J'ai loupé quelque chose
?

Je pratique très peu Windows qui me hait, mais ...
Ça marche aussi pour les chemins en "local" ?
file://C:monsitelerepertoirecefichier.html
== > file://C:/monsite/lerepertoire/cefichier.html
???
Cordialement,


Ah j'ai essayé, effectivement ça marche, Firefox 48 a même ajouté
automatiquement une troisième barre oblique derrière file: ;)
(Windows XP Home SP3)
Une Bévue
Le #26406772
Le 08/08/2016 à 06:27, Guiche a écrit :
Via HTTP on ne transmet que des slashes et tous les navigateurs
que j'ai vus sous Windows s'en sortent avec des slashes dans les
chemins (souvent relatifs). J'ai loupé quelque chose
?

il s'agit d'un script de buid "brunch-config.coffee" pour Brunch.
il s'agit donc d'un PATH en CLI...
j'ignore complétement win*
Olivier Miakinen
Le #26407706
Bonjour,
Je vois que la réponse a déjà été donnée, mais je me permets
de préciser un peu.
Le 05/08/2016 17:58, Une Bévue a écrit :
Si je teste mes expressions :
/^app[\/]jquery.js/
et
/^app/jquery.js/

Ce qui rend l'expression un peu difficile à comprendre, c'est
le fait que les caractères et / aient besoin d'être protégés
par . Si les caractères en question avaient été X et Y au
lieu de et / on aurait eu plus simplement :
/^app[XY]jquery.js/
et :
/^appYjquery.js/
Et la réponse aurait été que la première matche aussi bien
appXjquery.js que appYjquery.js alors que la seconde ne
matche que appYjquery.js .
Rappel : le groupe fr.comp.lang.regexp est parfait pour ce
genre de question.
--
Olivier Miakinen
Publicité
Poster une réponse
Anonyme