Accueil > Forum > > > > Regexp Multilignes
Regexp Multilignes
mardi 24 octobre 2006 à 15:12:07 |
Regexp Multilignes

Ordinastie
|
Bonjour,
Je me trouve confronté à un petit problème concernant les expression régulières: Voici mon texte:
[EXEMPLE] ex 1 ex 2 [/EXEMPLE]
Reste du texte
Mon but est de détecter la présence du tag [EXEMPLE], afin de le remplacer s'il existe, sinon je l'ajoute. Mon problème est qu'il m'est impossible de trouver le texte a cause des retours chariots. Voici l'expression que j'utilise. /\[EXEMPLE](.*\)\[\/EXEMPLE]/
Je pourrais me dire que je suis seulement pas doué pour les regexp, mais celle-ci marche parfaitement en PHP... Si je mets tout le texte sur une seule ligne, ca marche aussi. Quelqu'un à une idée?
@+ Ordinastie
PS: le texte est le contenu d'un textarea si ca change quelque chose...
|
|
mercredi 25 octobre 2006 à 07:55:31 |
Re : Regexp Multilignes

bultez
|
Bonjour,
ce n'est pas du aux retours chariots .* c'est tous les caractères, et ça ne s'arrête pas à [/EXEMPLE] pas très au fait non plus des expressions régulières je ferais ça en "plusieurs étapes".
<body> <script type="text/javascript"> function trait() { var tmp=document.getElementById("txt"); var ouv=tmp.value.search(/\[EXEMPLE\]/,"gi"); var fer=tmp.value.search(/\[\/EXEMPLE\]/,"gi"); alert ( (ouv!=-1) && (fer!=-1) && (ouv<fer) ); } </script> <textarea id="txt"> l1 [EXEMPLE] ex 1 ex 2 [/EXEMPLE] </textarea> <input type="button" onclick="trait();" value="traitement" /> </body>
il n'y a aucun doute dans mon esprit qu'on peut mieux faire !
Cordialement Bul [mon Site] [M'écrire]
|
|
mercredi 25 octobre 2006 à 09:57:01 |
Re : Regexp Multilignes

Ordinastie
|
Réponse acceptée !
Bonjour,
Merci pour la réponse... mais non :) .* est ce qu'on appelle "greedy" (pas cherché de traduction), ce qui signifie qu'il prendra le plus large possible. Par exemple, si mon texte est: [EXEMPLE] ex 1 ex 2 [/EXEMPLE] ex 3 [/EXEMPLE] ex 4
Le texte trouvé sera: [EXEMPLE] ex 1 ex 2 [/EXEMPLE] ex 3 [/EXEMPLE]
Il est possible de limiter la réponse à la premiere occurrence trouvée avec le ? je crois. Le problème est bien causé par les retours chariots car si je mets mon texte sur une seule ligne, je récupère bien ce qu'il faut.
J'ai fini par trouvé l'expression qu'il me fallait: /\[EXEMPLE](?:\s)*([\w\s,.:-\\\/]*)(?:\s)*\[\/EXEMPLE]/im
Pour ceux qui souhaiteraient une explication: Je cherche [EXEMPLE] Suivi de 0, 1 ou plusieurs \s (retours chariots, blancs etc.), dont je ne veux pas retenir la référence (grace à ?:) Suivi d'un nombre indeterminé de mots, espaces, virgules, points, deux-points, slash/antislash, tirets, dont je garde la référence Suivi de 0, 1 ou plusieurs \s (retours chariots, blancs etc.), dont je ne veux pas retenir la référence (grace à ?:) Et enfin qui fini par [/EXEMPLE] Le tout, multiligne et insensible à la casse.
J'aurai préférer faire une classe "tout + \s" mais j'arrivai pas et je dois avouer, ca commencait à me saouler.
Voila, en tout cas, merci encore pour la réponse @+ Ordinastie
|
|
Cette discussion est classée dans : problème, multilignes, texte, exemple, regexp
Répondre à ce message
Sujets en rapport avec ce message
Problème zone texte et lien [ par willstar ]
Hello, je me demandais si c'était possible d'avoir une zone de texte sans un formulaire et que via un lien normal href, est-il possible d'envoyer la v
Problème d'affichage en HTML [ par mouniersophie ]
Bonjour a tous,je débute dans cette programmation et j'essaye d'afficher un texte suivie d'une image à un certain endroit de ma page comme suit :CP</D
Problème sur script pour formulaire [ par Dark_Kirua ]
Bonjour, je lutte un peu pour ce script:le formulaire est composé entre autres d'un champ texte et d'une checkbox et j'aimerais que la checkbox reste
Problème Liste Déroulante. [ par BenXbox ]
J'Ai Deux Liste Déroulante Et Je Voudrais Que Sa Fasse Sa :1 : Pour Le Choix Du Format exemple : dvd - k7 vidéo - vcd 2 : Affiche Juste Les Infos Par
Problème en javascript mettant en question des vilains select [ par Alpacha ]
bonjour,je voudrais avoir un exemple de code pour le problème suivant svp :dans un formulaire, il y a un select "sexe" par exemple dans lequel on peut
Dimension d'une image située sur le disque dur ou ... [ par b4d ]
Voilà, j'ai un petit problème d'envoi d'image!Je travaille avec du php et du javascript et j'ai un petit problème d'envoi d'image...J'ouvre une popup
Problème de syntaxe avec Regexp [ par mattarius ]
Bonjour à tous, Je débute en Javascript et je viens de découvrir la fonction RegExp, qui est très pratique mais j'ai des problèmes avec la syntax
Récupérer les positions d'un champ Texte [ par AshenShugar ]
Salut tout le monde, Je voudrais faire un truc qui ressemble au petit menu qui s'affiche quand on tape dans le champ de recherche de ce site. Le champ
Problème avec une RegExp [ par AgLS ]
Bonjour, J'ai un petit problème avec ma première RegExp en JavaScript. Cette RegExp doit vérifier les critères ci-dessou dans un email: -Commence par
Problème de placement [ par plom ]
Bonjour, je souhaite faire un cadre autour d'un texte. Voici mon code : <![CDATA[
.div_content { //background-image: url(./imgs/div_background.png
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|