Accueil > Forum > > > > $regex = '`[arrache de cheveux]{0,100000}?`'
$regex = '`[arrache de cheveux]{0,100000}?`'
mardi 23 juin 2009 à 21:57:41 |
$regex = '`[arrache de cheveux]{0,100000}?`'

kohntark
|
Salut, Je prends la liberté de poster sur le forum regex (peu fréquenté semble t il, snif) et celui ci. En cette fin de journée fatigante je galère un peu. Voici la trame que j'essaie de parser : <h3 class="machinTruc"><span class="trucBidule">tototata</span> - 140 db - excellent - truc-bidule - bidule machin</h3>
<p class="mtruc" id="m2truc"> 140 db, étonnant, 8 pm, theodore<br /> Données bidule, truc (jazz)<br /> </p> <p class="mtcFont2" id="mtcTextIntro2">en noir : ce que je cherche à capturer (changeant, forcemment) en bleu : les parties qui ne changent jamais en rouge : ce qui fait que je vais devenir chauve plus vite que prévu  A savoir qu'il peut y avoir des retours à la ligne et autres caractères "blancs" aléatoires entre la cloture d'une balise et la suivante. Le problème : Les données en rouge peuvent prendre les formes suivantes : 140 db, étonnant, 8 pm, theodore<br /> 140 db, 8 pm, theodore<br /> 140 db, étonnant, 8 pm<br />140 db, étonnant, machinchose, 8 pm, theodore<br />8 pm<br />etc ... en fait le nombre de données, séparées par des virgules (et qui peuvent contenir des chiffres, des caractères spéciaux etc ... mais jamais de virgule), peut changer, avant comme après le 8 pm que je cherche à capturer. Par ailleurs, pour faciliter grandement la chose, le 8 pm (qui peut également être 208 pm, 102 pm) n'est pas toujours présent. Pour ceux qui suivent encore après cette magnifique tentative d'explication : je cherche à trouver le nombre de pm (8 pm) que contient la chaîne, et savoir également, de façon fiable (of course) si elle n'est pas présente. Les autres données (en noir) ne me pose pas de pb, de même qu'isoler la ligne rouge et appliquer un second traitement dessus pour sortir le 8 pm (mais je souhaiterai le faire en 1 seule regex) ... en espérant m'être bien expliqué (pas gagné, je sais  ) Merci d'avance. Cordialement, Kohntark -
|
|
mardi 23 juin 2009 à 23:05:50 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

kankrelune
|
Aaaaah là y a du challenge... ça change... lol... .. . ;o)
Je suppose que c'est une regexp exécutée sous php... sinon précise le langage... ton 8pm aura toujours cette forme là (num+espace+pm) ou pas... c'est quoi une heure au format anglophone... .. ?
Par contre il y a des chances qu'il faille passer par 2 regexp une pour le (x)pm et une autre pour le reste... je jette un coup d'oeil quand j'aurais 2 minutes et te tiens au fil si je trouve quelque chose... .. .
@ tchaOo°
|
|
mercredi 24 juin 2009 à 00:15:39 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

kankrelune
|
essaye ça...
/\b([0-9]+\s*pm)\b/i
sur...
140 db, ligne 1, 8 pm, 10pm theodore<br />
db, 2, pm, ligne 2<br />
140 db, étonnant, ligne 4, 100pm, theodore<br />
140db, ligne 40 pm<br />
opsus20pmjkl, ligne 3, 12 pm<br />
dbligne12pmplm<br />
m228 pm fgh
étonnant, ligne 4, 29 pm, theodore<br />
140 db, 140 pmdb,ligne 3, 46pm<br />
10 pm<br />
ça match correctement...
array (
0 => '8 pm',
1 => '10pm',
2 => '100pm',
3 => '40 pm',
4 => '12 pm',
5 => '29 pm',
6 => '46pm',
7 => '10 pm',
),
si ça va pas précise plus en détail sous quelle forme peut se présenter ta variable et ton texte... .. .
@ tchaOo°
|
|
mercredi 24 juin 2009 à 00:18:14 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

kankrelune
|
Ah... si tu veux qu'il y ai absolument un espace entre ta valeur et on "pm" vire le * après le \s
D'ailleurs remplace le \s par un espace il serait capable de te matcher
plopmon text 20
pm remontext
^_^
@ tchaOo°
|
|
mercredi 24 juin 2009 à 09:31:06 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

nhervagault
|
Je mets le lien avec ce post
http://regex.codes-sources.com/forum/sujet-REGEXP-CAPTURE-DONNEES_1330084.aspx#1
|
|
mercredi 24 juin 2009 à 09:37:50 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

syndrael
|
Alors, juste un passage en vitesse.. tu utilises SPL avec Tidy ?? Des fois ça aide pas mal.. mais attention PHP 5.3 obligé. S.
|
|
mercredi 24 juin 2009 à 11:20:54 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

kankrelune
|
Je vois pas le rapport entre SPL/Tidy et la rexexp que veut kohntark... .. .
@ tchaOo°
|
|
mercredi 24 juin 2009 à 11:40:55 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

syndrael
|
Je pensais que SPL/Tidy aurait permis de trouver H3.. puis le Span juste après via la classe TidyNode récupérer le tototatat qu'il cherche.. mais ce n'était qu'une piste.. Et puis aussi que j'aime bien utiliser les dernières fonctions sorties. Ce n'était qu'une piste.. S.
|
|
mercredi 24 juin 2009 à 12:03:59 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'

kankrelune
|
Ah oki... .. . :o)
Oui effectivement on peut passer par le DOM aussi mais je ne pense pas que ce soit adapté dans cette situation... beaucoup trop de code là ou une regexp suffit je pense... .. .
@ tchaOo°
|
|
jeudi 25 juin 2009 à 22:56:17 |
Re : $regex = '`[arrache de cheveux]{0,100000}?`'
|
Cette discussion est classée dans : db, regex, pm, eacute, tonnant
Répondre à ce message
Sujets en rapport avec ce message
AIDER MOI VITE SVP [ par g0belin ]
Bon voila mon probleme dans le code si dessous y a une erreur que je n'ai pas trouver au bout de 4 heures aidez moi svp--------------ERREUR-----------
Date probleme [ par g0belin ]
Ben voila en fait je veux faire un agenda...je veux afficher seulement les entree dans la base pour le jour courant...MAIS sa marche PASsa m'affiche t
urgent..DB.php lib [ par fatNugly ]
bonjourquelqu'un aurait il une idee ou je pourrais trouverla class DB.php SVP c'est urgent et je suis legerement dans le caca!!merci aux ames chari
urgent DB error: not found [ par fatNugly ]
j'ai un probleme..j'essai de me connecter a ma bd, voici le coderequire_once("classes/sql2xml.php");require_once("classes/DB.php"); header("Content-ty
Expressions régulieres [ par Nini ]
Trouvez l'expression régulière (Syntaxe basée sur le PHP) et entrez la ci-dessous (en suivant l'exemple).Cette regex doit extraire le texte et le cont
Retour d'un enregistrement précis dans un DB MySQL [ par philagui ]
Bonjour,j'ai créé une DB MySQL grace au logiciel EasyPHP et à phpMyAdmin. Grace au script suivant j'ai réussi a faire afficher tous les enregistrement
Parametre de ma classe connexion et connexion/deconnexion [ par sebos63 ]
Bonjour, 1. J'ai une classe de connexion et je souhaiterais savoir où il est judicieux de spécifier les paramètres d'une connexion. (Dans mon construc
Format d'une DB (Théorie/Conseil)? [ par Kenaghdar ]
Bonjour tout le monde,Je me trouve confronté à un petit problème de conception pour une BDD destinée à stocker des recettes de cuisines. De manière sy
Regex et caractères spéciaux [ par Totofweb ]
BonjourJ'ai une variable, $texte. Dans celle-ci, je dois tester si elle contient [couleur=#123456] où 123465 est un nombre entier de 6 chiffres.J'ai e
regex : validité d'une url absolue ou relative [ par Totofweb ]
SalutJe fais mon module de bbcode, et je dois remplacer [lien=monurl.php] ou [lien=http://www.monurl.com/index.php?id=4] par j'ai essayé ceci :$texte
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL 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
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
|