Regular Expression probleem

Status
Niet open voor verdere reacties.

JB'tje

Gebruiker
Lid geworden
31 mei 2004
Berichten
556
Beste,

Ik wil via reg exp zoeken op een string, waarbij slechts de begin en eind tekens vaststaan
PHP:
$string = "heleboel text [[BLAAT if then =] ] ] ]*240471-!@#$^%&@!$^%..146 en nog veel meer vage tekens]] en nog meer tekst";

preg_match('/\[\[BLAAT([^\\]\\]])*\]\]/', $string, $match );

// Retultaat geeft: $match != [[BLAAT if then =] ] ] ]*240471-!@#$^%&@!$^%..146 en nog veel meer vage tekens]]

Ik ben dus op zoek naar een manier om alles, behalve ]] toe te staan binnen de brackets.

"\[\[BLAAT" is het begin
iets dat niet "]]" is komt er dan tussen
en eindigd met "]]"

'k heb al vele verschillende regexp gebruikt, maar ik kom erniet uit... iemand?

Dezen werken iig niet:
[^\\]\\]]+
([^\\]]){2}]+
[^(\\]\\])]+

Alvast bedankt!
Jeffrey

p.s. waarom werken de pijltjes toetsen niet in deze editor: echt heel iritant :|
 
je wil dus

[[blaat.....]] terug? moet er iets instaan of mag [[blaat]] ook?

\[\[blaat.+\]\]
 
Laatst bewerkt:
Alles mag erin staan, behalve ]] (dat is per defenitie de sluitingstag)

Stel: \[\[BLAAT.+\]\]
String: [[BLAAT een of andere tekst]] nog een tekst op zelfde regel [[BLAAT ooh! nog een :D]]

Met deze regexp zal de gehele regel gereturnd worden. Terwijl hij moet stoppen bij de eerste ]]. De beide [[BLAAT iets]] moeten als afzondelijke resultaten gereturn worden :)
 
Laatst bewerkt:
Volgens mij moet je dan greedy aanpassen:

\[\[blaat.+?\]\]
 
A! Die kende ik nog niet :D
Een simpel vraagteken toevoegen was inderdaad de oplossing :D Heel erg bedankt!

Gegroet,
Jeffrey
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan