[regex] parsen van link

Pagina: 1
Acties:

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 04-05 13:54
Ik zou willen uit een string het volgende halen, dit met de Jakarta RE engine. Ik heb een string een daar bevindt zich iets in de vorm van file://\\servernaam-kan-streepjes-bevatten\map namen die spaties kunnen bevatten\bestands naam ook met eventueel spaties . extentie

het volgende had ik al geschreven, maar blijkt niet zo denderend te werken, RE zitten ver in het achterhoofd :(

Java:
1
2
3
RE regEx = new RE("(file://)(\\\\\[a-zA-Z]+-[a-zA-Z]+.*\\.[a-zA-Z]*)");         
        
note = regEx.subst(note, "  <a target=\"_blank\" href=\"$0\">$0</a>", RE.REPLACE_BACKREFERENCES);

"Live as if you were to die tomorrow. Learn as if you were to live forever"


  • Onno
  • Registratie: Juni 1999
  • Niet online
Je wilt waarschijnlijk iets als file://\\\\\[a-z-]+\\([a-z ]+\\)*[a-z ]+\.[a-z]+, maar waarom gebruik je dat ding van Apache en niet gewoon de regular expressions van Java zelf?

(en ik zou gewoon even de documentatie lezen, lijkt me beter dan op je geheugen vertrouwen ;))

[ Voor 22% gewijzigd door Onno op 11-01-2005 17:05 ]


  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 04-05 13:54
omdat we nog met de JDK 1.3 werken en die heeft dat nog niet aan boord javax.regex

"Live as if you were to die tomorrow. Learn as if you were to live forever"


Verwijderd

Ik denk dat je een backslash 2 keer moet "escapen", 1 keer voor java en 1 keer voor de regular expression zelf. Voor beide geldt de backslash als escape karakter.

Dus zoeken naar \\ wordt \\\\\\\\