ti pb sur exp reguliere
8 messages
• Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- achaternet
- WRInaute occasionnel

- Messages: 256
- Inscription: 11 Fév 2003
ti pb sur exp reguliere
bonjour,
je souhaite selectionner un block commençant par - [ et finissant par ]
comment dois- je ecrire ma regle?
j ai essayé ça ^-.[(.*).]$
, mais marche poa.
merci de votre aide
je souhaite selectionner un block commençant par - [ et finissant par ]
comment dois- je ecrire ma regle?
j ai essayé ça ^-.[(.*).]$
, mais marche poa.
merci de votre aide
-

George Abitbol - WRInaute passionné

- Messages: 1923
- Inscription: 6 Juin 2003
Bonjour,
Ca ne marche pas parce que les crochets sont des caractères ayant une signification particulière pour les expressions régulières. Il faut les échapper si on veut les utiliser comme de simples caractères.
Donc a priori, ce serait quelque chose comme ça :
Si c'est en PHP :
http://fr.php.net/preg_match
Fred
Ca ne marche pas parce que les crochets sont des caractères ayant une signification particulière pour les expressions régulières. Il faut les échapper si on veut les utiliser comme de simples caractères.
Donc a priori, ce serait quelque chose comme ça :
- Code: Tout sélectionner
/^- \[(.*)\]$/
Si c'est en PHP :
- Code: Tout sélectionner
<?php
preg_match('/^- \[(.*)\]$/', $ta_chaine, $matches);
echo $matches[1];
?>
http://fr.php.net/preg_match
Fred
- achaternet
- WRInaute occasionnel

- Messages: 256
- Inscription: 11 Fév 2003
George Abitbol a écrit:Ca ne marche pas parce que les crochets sont des caractères ayant une signification particulière pour les expressions régulières. Il faut les échapper si on veut les utiliser comme de simples caractères.
Donc a priori, ce serait quelque chose comme ça :
- Code: Tout sélectionner
/^- \[(.*)\]$/
Si c'est en PHP :
- Code: Tout sélectionner
<?php
preg_match('/^- \[(.*)\]$/', $ta_chaine, $matches);
echo $matches[1];
?>
http://fr.php.net/preg_match
Fred
Merci fred.
i me semblait bi1 qui avait un truc a rajouter pour les caracteres particuliers.
Le - par contre, est il considéré comme tel?
Sinon, j ai pas l impression que le code fonctionne
J ai repris le code php
<?
$tachaine="chou - [ bla bla ] 26:)";
preg_match('/^- \[(.*)\]$/', $ta_chaine, $matches);
echo $matches[1];
?>
et rien s affiche alors que je souhaite ainsi ds cette ex: chou 26:)
Ou es l erreur??
thks
-

George Abitbol - WRInaute passionné

- Messages: 1923
- Inscription: 6 Juin 2003
Euh... je comprends plus trop, là... Tu dis vouloir sélectionner le bloc compris entre - [ et ]. Donc dans ton exemple ce serait bla bla et pas chou 26:) comme tu le dis ensuite.
Donc :
- si tu veux récupérer bla bla dans chou - [ bla bla ] 26:), tu fais :
- si tu veux supprimer bla bla dans chou - [ bla bla ] 26:), tu fais :
Attention, tu avais mis $tachaine au début et $ta_chaine par la suite
Fred
Donc :
- si tu veux récupérer bla bla dans chou - [ bla bla ] 26:), tu fais :
- Code: Tout sélectionner
<?php
$ta_chaine = "chou - [ bla bla ] 26:)";
preg_match('/- \[(.*)\]/', $ta_chaine, $matches);
echo $matches[1]; // affiche bla bla
?>
- si tu veux supprimer bla bla dans chou - [ bla bla ] 26:), tu fais :
- Code: Tout sélectionner
<?php
$ta_chaine = "chou - [ bla bla ] 26:)";
echo preg_replace('/- \[(.*)\]/', '', $ta_chaine); // affiche chou 26:)
?>
Fred
- achaternet
- WRInaute occasionnel

- Messages: 256
- Inscription: 11 Fév 2003
George Abitbol a écrit:Euh... je comprends plus trop, là... Tu dis vouloir sélectionner le bloc compris entre - [ et ]. Donc dans ton exemple ce serait bla bla et pas chou 26:) comme tu le dis ensuite.
Fred
exact, j ai vu ça aprés
merci encore et là ça devrait le faire
- JC91
- WRInaute discret

- Messages: 160
- Inscription: 19 Déc 2003
George Abitbol a écrit:- si tu veux récupérer bla bla dans chou - [ bla bla ] 26:), tu fais :
- Code: Tout sélectionner
<?php
$ta_chaine = "chou - [ bla bla ] 26:)";
preg_match('/- \[(.*)\]/', $ta_chaine, $matches);
echo $matches[1]; // affiche bla bla
?>
Pour etre tout a fait complet
- si tu veux recuperer TOUT (y compris un caractere ']') entre le 1er '[' et le dernier ']' :
utilise /- \[(.*)\][^\]]*$/
- sinon
/- \[[^\]*\]/ est "mieux" que /- \[(.*)\]/
[^\]]* veut dire "tout sauf le car. ']' "
alors que .* veut dire "tout (y compris le car. ])"
- achaternet
- WRInaute occasionnel

- Messages: 256
- Inscription: 11 Fév 2003
JC91 a écrit:Pour etre tout a fait complet
- si tu veux recuperer TOUT (y compris un caractere ']') entre le 1er '[' et le dernier ']' :
utilise /- \[(.*)\][^\]]*$/
- sinon
/- \[[^\]*\]/ est "mieux" que /- \[(.*)\]/
[^\]]* veut dire "tout sauf le car. ']' "
alors que .* veut dire "tout (y compris le car. ])"
8 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Guide d'optimisation d'AdSense pour les éditeurs web - 03-11-2005
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
