Leerlingen.com Forum

Leerlingen.com Forum (https://forum.leerlingen.com/vbb/index.php)
-   Computers & Internet (https://forum.leerlingen.com/vbb/forumdisplay.php?f=23)
-   -   Zitten er hier ook nerds (https://forum.leerlingen.com/vbb/showthread.php?t=51930)

Pakspul 28 January 2005 18:08

Zitten er hier ook nerds
 
Die verstand hebben van Regular expressions? :?

zal anders ook maar ff probleem posten :+

Ik heb het volgende probleem ik wil met regex delen uit een string halen (door middel van preg_match_all) en die later gaan bewerken, nu ben ik een aardig eind opweg gekomen maar zit vast op stuk dat het RegEx deel vooruit moet kijken.

PHP Code:

$str 'begin-text <br />
    {message.id?}bericht content{;}<br />
    {if.statement?}if=true{:}if=false (else){;}<br />eind text'
;

preg_match_all("/{([^}]*)\?}([^{]*?)(?!{:}([^}]*)){;}/ise"$output$regsPREG_SET_ORDER); 

Als ik de output bekijk van $regs staat dit er in
Code:

Array
(
    [0] => Array
        (
            [0] => {message.id?}bericht content{;}
            [1] => message.id
            [2] => bericht content
        )

)

Maar er staat niks in over de 2e if statement in de string, dat ik ook het deel waar die vast loopt de eerst is namelijk een IF zonder else en die andere zit wel een ELSE in maar daar kijkt die.. niet over slaat die over.

Pakspul 29 January 2005 11:22

Citaat:

Oorspronkelijk geplaatst door SpiNe
ga dan naar tweakers idioot een heel forum vol nerds
[PHP] RegEx lookahead probleem :Z

not-known 29 January 2005 12:53

Het probleem met regexp'en is dat het enorm kut terug te lezen is wat je nu hebt gedaan en wat je moet veranderen om het terug te krijgen. Dat zijn puzzels waar je uren aan kan zitten. Vandaar ook dat er vaak geen goede antwoorden uit komen. Wat soms handig is, is om regexp editor te gebruiken, zodat je wat meer inzicht krijgt in de grammatica en door vóór je gaat schrijven het probleem in zo klein mogelijke sub probleempjes op te delen en daar in pseudo code een oplossing voor te schrijven.

Pakspul 30 January 2005 17:36

Citaat:

Oorspronkelijk geplaatst door not-known
Het probleem met regexp'en is dat het enorm kut terug te lezen is wat je nu hebt gedaan en wat je moet veranderen om het terug te krijgen. Dat zijn puzzels waar je uren aan kan zitten. Vandaar ook dat er vaak geen goede antwoorden uit komen. Wat soms handig is, is om regexp editor te gebruiken, zodat je wat meer inzicht krijgt in de grammatica en door vóór je gaat schrijven het probleem in zo klein mogelijke sub probleempjes op te delen en daar in pseudo code een oplossing voor te schrijven.
had ik ook eerst maar je moet hem gaan uit schrijven:

Code:

/
\{        # match een accolade
 ([^}]*)    # gevolgd door alles tot een sluit accolade
 \?        # gevolgd door een vraageten
\}        # gevolgd door een sluit accolade
(.+?)        # gevolgd door zo min mogelijk "iets"
(            # gevolgd door mogelijk ...
 \{        # ... een accolade
:        # een dubbele punt
\}        # een sluit accolade
(.+?)        # gevolgd door zo min mogelijk "iets"
)?
\{        # gevolgd door een accolade
;        # gevolgd door punt-komma
\}        # en als afsluiter een sluit accolade
/

deze werkt bijna perfect trouwens :)

JZN 31 January 2005 14:32

Misschien zal je wel boos woorden dat ik reageer maja,

misschien slim om de volgende keer ook zelf proberen je probleem op te lossen zonder een forum :)

Probeer bijv. te zoeken op www.php.net/nl/ of www.phpfreakz.nl

dit zijn goeie handleiding site's voor php :)

Het is maar een tip maar misschien heb je er wat aan :wave:

FunFair 31 January 2005 15:00

denk je dat hij dat niet weet? :+

Pakspul 31 January 2005 15:01

haha zal niet boos worden :p maar die sites liggen onder me nivo :+

daar kun je de basis vandaan halen maar uitgebreide documentaties over regular expression bijvoorbeeld kun je daar never nooit vinden

bloon 31 January 2005 15:35

Citaat:

Oorspronkelijk geplaatst door Pakspul
haha zal niet boos worden :p maar die sites liggen onder me nivo :+
Ghahahaha.. www.php.net ligt onder je niveau,
maar je weet niet dat je je } moet escapen??

GENIAAL ben jij! :yes: what a joke :yes:

http://nl3.php.net/manual/nl/functio...-match-all.php
had je al een heel eind verder geholpen..

niet te gauw denken dat jij uber geniaal bent. Denk niet dat er dingen bestaan op gebied van php die je niet op php.net kunt terugvinden.:yes:

Pakspul 31 January 2005 15:49

Citaat:

Oorspronkelijk geplaatst door bloon
Ghahahaha.. www.php.net ligt onder je niveau,
maar je weet niet dat je je } moet escapen??

GENIAAL ben jij! :yes: what a joke :yes:

http://nl3.php.net/manual/nl/functio...-match-all.php
had je al een heel eind verder geholpen..

niet te gauw denken dat jij uber geniaal bent. Denk niet dat er dingen bestaan op gebied van php die je niet op php.net kunt terugvinden.:yes:

zie de smilie ? :{

maar escapen? hij deed het toch in begin :+

not-known 31 January 2005 16:40

Citaat:

Oorspronkelijk geplaatst door bloon
Ghahahaha.. www.php.net ligt onder je niveau,
maar je weet niet dat je je } moet escapen??

GENIAAL ben jij! :yes: what a joke :yes:

http://nl3.php.net/manual/nl/functio...-match-all.php
had je al een heel eind verder geholpen..

niet te gauw denken dat jij uber geniaal bent. Denk niet dat er dingen bestaan op gebied van php die je niet op php.net kunt terugvinden.:yes:

Er zijn zat third party lib's die daar niet te vinden zijn. Dus ja dat kan wel degelijk :Y)
Dat was het mooie aan open source software juist.. iedereen kan het modificeren en aanvullen.

Pakspul 4 February 2005 07:46

damn, moest de S modifer er nog bij aangezien er die meerdere lines moet matchen.. stomme dingentjes dat regex daar zelf niet aan denkt :+ :z


Alle tijden zijn GMT +1. De tijd is nu 12:48.

Forum software: vBulletin 3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.