Toon posts:

[Regex] } vervangen, maar niet \}

Pagina: 1
Acties:
  • 166 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Ben aan het stoeien met reguliere expressies. Het gaat goed moet ik zeggen... Ben echter tegen het volgende probleem aangelopen ...

Als ik een string heb zoals: "Dit is mijn \} accolade}}" dan moeten de }'s vervangen worden. Dus niet de \}

Met de volgende reguliere expressie ben ik volgens mij al een eind op weg:
code:
1
(|[^\\])\}
maar heb denk ik een klein duwtje nodig.

Mijn uitgesproken expressie is: "Ik wil alle accolades verwijderen, behalve waar een back-slash voor staat"

Alvast bedankt!

Statix

  • superduper
  • Registratie: Juli 2001
  • Laatst online: 11:01

superduper

Z3_3.0 Woeiiii

En als je zoek op de combinatie \w} ? Dus het character meenemen wat er wel voor kan staan (uiteindelijk alles behalve \)?

Verwijderd

Topicstarter
superduper schreef op donderdag 29 maart 2007 @ 11:11:
En als je zoek op de combinatie \w} ? Dus het character meenemen wat er wel voor kan staan (uiteindelijk alles behalve \)?
Hoe zit het dan met een }} ... dan gaat jouw statement niet op

  • WormLord
  • Registratie: September 2003
  • Laatst online: 01-12 13:49

WormLord

Devver

Volgens mij moet je hiervoor een assertion gebruiken.

Dus dan zou het dit worden:
code:
1
(?<!\\)\}


Dit betekend wat jij wil, een accolade waar geen \ voor staat.
Niet getest natuurlijk ;)

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 12:35

Salandur

Software Engineer

er is een speciale directive voor: (?<\) geloof ik

edit:
wat wormlord zegt: (?<!..) of (?<=..). zie ook http://www.regular-expressions.info/quickstart.html onder het kopje look around

[ Voor 57% gewijzigd door Salandur op 29-03-2007 11:32 ]

Assumptions are the mother of all fuck ups | iRacing Profiel


Verwijderd

Topicstarter
Wow!!

_/-\o_

het werkt.... dit is geweldig, de lookaround functionaliteit .... :X
Pagina: 1