Toon posts:

[php] Regexp voor een string

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben nog mnaar net begonnen met regexp's te werken en ik moet zeggen het lukt voor geen ene f*ck ;)
code:
1
Code   26:80:|half life X°C.|troep enz enz....

nu wil ik dus het getal uit deze string halen die opo de plaats van de X staat(het liefst met een regexpr (k moet t toch ooit leren))

maar ik heb vanalles geprobeert van ^([0-9]* D°C. tot (.*)
en nog veel meer maar ik kom er gewoon niet uit

kan iemand me effies helpen

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Doet iets met Cloud (MS/IBM)


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Wat betekend ^?? idd .. dat betekend "begin van de string". Staat het nummer aan het begin van de string? nope, d'r staat nog wat voor, dus die matched niet.

Als je toch met regexpen wilt oefenen, probeer dan eens een reguliere exprtessie te verzinnen die de hele string dekt. Eerst code, wat spaties 2x een getal met : een pipe enz enz..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op maandag 03 juni 2002 16:31 schreef Zoepnek het volgende:
Ik ben nog mnaar net begonnen met regexp's te werken en ik moet zeggen het lukt voor geen ene f*ck ;)
code:
1
Code   26:80:|half life X°C.|troep enz enz....

nu wil ik dus het getal uit deze string halen die opo de plaats van de X staat(het liefst met een regexpr (k moet t toch ooit leren))

maar ik heb vanalles geprobeert van ^([0-9]* D°C. tot (.*)
en nog veel meer maar ik kom er gewoon niet uit

kan iemand me effies helpen
Ow yah het gedeelte Code blijft hetzelfde alleen die 2 getallen en het half life gedeelte verandert iedere keer

Verwijderd

Topicstarter
k heb nu dit:
code:
1
^Code   ([0-9]){2}:([0-9]){2}:|([a-z])* ([a-z])* ([0-9]){2}°C

maar ik krijg nog steeds niet echt het gewenste resultaat

Verwijderd

Topicstarter
ook als ik dat pipe ding tussen [] zet wrkt t nog niet

Verwijderd

preg_match("/[-+]?\d+(\.\d+)?°/", $line, $blaat); :?

Verwijderd

Topicstarter
Aaah dit komt al dichter in de buurt:
code:
1
^Code ([0-9]){1,2}:([0-9]){1,2}:|([a-z])* ([a-z])* ([0-9]){1,2}°C

uitvoer: half life 87°C

maar ik snapp nog steeds niet wat ik vout doe, ik denk dat het met die pipe te maken heeft maar als ik die tussen brackets zet dan krijg ik helemaal nix meer terug

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
zoek es op welke tekens je moet escapen als je die wilt matchen... daar ga je namelijk in de fout

Verwijderd

Topicstarter
*kick*
code:
1
eregi ("/^Code ([0-9]){1,2}:([0-9]){1,2}:\|([a-z])* ([a-z])* ([0-9]){1,2}°C/", $regel, $matches)

owkeej ik heb nu delimiters toegevoegd voor en achter en ik heb de pipe geescaped maar ik krijg nu helemaal niets meer terug.

ook heb ik de dubbele punten al es geescaped maar dat heeft net zoveel resultaat..
kan iemand me zeggen of de algemene structuur een beetje klopt.

by the way de regexp van cheetah leverde geen resultaten op

Verwijderd

Topicstarter
hmmmz ik heb mij eregi eruit geflikkerd en cheeath's code helemaal er in geplakt en die werkt schijnbaar wel :?

naja hij doet t bedankt voor de hulp
Pagina: 1