Expressions régulières

Résolu
cs_koalyptus Messages postés 8 Date d'inscription samedi 13 mai 2006 Statut Membre Dernière intervention 4 mars 2008 - 3 mars 2008 à 14:07
cs_koalyptus Messages postés 8 Date d'inscription samedi 13 mai 2006 Statut Membre Dernière intervention 4 mars 2008 - 4 mars 2008 à 09:01
Bonjour,

n'étant pas très à l'aise avec les RegExp je voudrais savoir comment faire pour trouver une occurrence exacte d'un mot dans une chaîne. Je m'explique dans le texte qui suit je voudrais trouver les occurences de 'html' et de 'xhtml' pour ensuite les encapsuler dans une balise :

'Curabitur ligula erat, HTML, auctor quis, cursus et, congue id, augue. Nulla cursus interdum libero. Vivamus nibh tellus, elementum sed, condimentum eu, HTML fermentum semper, diam. Duis vel orci. XHTML Vivamus et ligula. Sed euismod purus ac risus iaculis vehicula. In arcu.'

En utilisant l'expression qui suit:

var regexp = new RegExp('(^|)HTML(|$)',"gi");

la chaine 'HTML' dans XHTML est aussi trouvée, or je voudrais que seules les occurences exactes de 'HTML' soient prises en compte.

Merci d'avance de votre aide!

8 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
3 mars 2008 à 18:59
Bonjour à tous et toutes,

J'ai utilisé ceci il y a quelque temps...
var Chaine ='Bonjour je cherche le mot rouge ou ROUGE mais pas de rouget';
var szReg  = new RegExp( '\\b(rouge)\\b', 'gi');
Chaine = Chaine.replace( szReg,''+'$1' +'');
document.write( Chaine);

;O)
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 mars 2008 à 14:47
Bonjour,

>>n'étant pas très à l'aise avec les RegExp
    moi non plus !
    faut dire que ce n'est pas très "naturel" ....
       ( mon excuse pour n'être pas trsè à l'aide !!! )

    ch'tit exemple.... si j'ai compris ?

    var tmp=">xhtml> et <html>";
    alert(tmp.replace(new RegExp("^HTML","gi"),"exemple"));

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 mars 2008 à 14:55
ah ben non... j'ai dis une connerie...   ( ça change pas )

    var tmp="<xhtml> et <html>";
    tmp=tmp.replace(/\shtml/gi,"exemple");
    alert(tmp)

    peut-être.... mais on doit pouvoir dire "uniquement sur un mot entier"...
             mais je ne retouve plus....

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
3 mars 2008 à 16:16
Bonjour,

d'après mes souvenir datant d'un projet l'année derniere il me semble que ça donnerai plus quelque chose du genre ^HTML$
^signifie commence et $ signifie termine

donc new RegExp("^html$","gi");
//on peut ecrire en minuscule puisqu'on utilise l'option i

Si c'est faux je m'en excuse ;-)

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
3 mars 2008 à 16:18
arf j'ai mal lu d'après ce qu'a écris bul ça fonctionnera pas... desolée

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
cs_koalyptus Messages postés 8 Date d'inscription samedi 13 mai 2006 Statut Membre Dernière intervention 4 mars 2008
3 mars 2008 à 18:00
Merci de vos réponses rapides ;-)

je précise que j'aurais besoin de rechercher 'uniquement sur un mot entier' comme bul l'a justement fait noter.

D'ailleurs, je ne sais pas si c'est pertinent de spécifier que le mot en question peut se présenter à n'importe quel endroit du texte, c'est-à-dire, début/fin de ligne, avec espacement avant ou après ou suivi des caractères tels que :;,?() etc. Peut-être qu'une recherche 'uniquement sur un mot entier' pourrait éviter d'imaginer tous les contextes possibles d'utilisation d'un mot dans un texte...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 mars 2008 à 18:16
si persnne ne dit mieux ( ça m'étonnerait bien qu'on ne ledise pas ! )
si tu ne trouves pas dans une doc quelconque
    /\shtml\s/gi         ça devrait le faire....
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_koalyptus Messages postés 8 Date d'inscription samedi 13 mai 2006 Statut Membre Dernière intervention 4 mars 2008
4 mars 2008 à 09:01
Le caractère \b semble être le bon!
Ça me parait être la bonne solution.

Merci et à bientôt.
0
Rejoignez-nous