Jeg er ikke specielt mentalt udfordret, jeg starter altid med at læse manualen, og jeg bruger regex jævnligt, men den her driller, derfor spørger jeg efter en (her citerer jeg spørgsmålets overskrift) Specifik regex fordi jeg ikke har tid til at sidde og bøvle mere med den selv.
I øvrigt er referencen på php.net primært fokuseret på brugen af PHP kommandoerne, ikke på den faktiske udformning af udtrykket..
*? er en ulovlig konstruktion - det kan være du mener .*, men så virker den heller ikke, fordi newlines ikke er indeholdt i . - så jeg prøvede med (.*(\\s)+)+ , som skulle give \"(et vilkårligt antal karakterer og whitespaces (,efterfulgt af 0 eller flere linjeskift)) et vilkårligt antal gange\" - men det dur heller ikke.
Derudover, så betyder den parantes med (^c|^m) \"et c eller et m i starten af strengen\" - og det er det jo ikke, så jeg prøvede [^c|^m], som nok er det du mente, og så giver det mening, men som sagt ikke den del i midten :)
*? er en ulovlig konstruktion - det kan være du mener .*, men så virker den heller ikke, fordi newlines ikke er indeholdt i . - så jeg prøvede med (.*(\\s)+)+ , som skulle give \"(et vilkårligt antal karakterer og whitespaces (,efterfulgt af 0 eller flere linjeskift)) et vilkårligt antal gange\" - men det dur heller ikke.
Derudover, så betyder den parantes med (^c|^m) \"et c eller et m i starten af strengen\" - og det er det jo ikke, så jeg prøvede [^c|^m], som nok er det du mente, og så giver det mening, men som sagt ikke den del i midten :)
*? er en ulovlig konstruktion - det kan være du mener .*, men så virker den heller ikke, fordi newlines ikke er indeholdt i . - så jeg prøvede med (.*(\\s)+)+ , som skulle give \"(et vilkårligt antal karakterer og whitespaces (,efterfulgt af 0 eller flere linjeskift)) et vilkårligt antal gange\" - men det dur heller ikke.
Derudover, så betyder den parantes med (^c|^m) \"et c eller et m i starten af strengen\" - og det er det jo ikke, så jeg prøvede [^c|^m], som nok er det du mente, og så giver det mening, men som sagt ikke den del i midten :)
1) .*? er en lovlig konstruktion. Det betyder at * IKKE skal være greedy. 2) newlines kan klares med en s-modifier. 3) Jeps. Det gik lidt stærkt. Korrekt med [ istedet for (.
Prøv med preg_replace(\'/\\/\\*[^c|^m].*?\\/\\*/s\', \'\')
gør tricket, på den måde, at nu er c|m med, men det er /*lortet virker ikke */ og det er ikke særligt optimalt, men den ignorerer alle de skøre konstruktioner jeg kan finde ud af med c og m :(
Væk med ? omkring [^cm], hvilket dog gør at der mindst skal stå 2 tegn i dine kommentarer (burde ikke være noget problem). Og [^\\1] skulle have været [^cm], det var en tanketorsk *G* ;)
Regexp objektet i js er noget Perl-agtigt, selvom den kun understøtter g og i flagene :/ (samt m i JScript5.5 og JS1.3).
men nu begynder det lille script jeg har, som normalt tager 0.06 sekunder at eksekvere, at tage over 30 sekunder??
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.