[homesite] RegEx matched niet

Pagina: 1
Acties:

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 09:48
Omdat het in dit geval een programma wat voornamelijk door P&W-ers wordt gebruikt gaat en het ook nog eens om iets programmeertechnisch gaat staat dit topic hier *D.

Ik ben op zoek naar de juiste regex om bepaalde teksten in html bestanden te vervangen, en dit wil ik doen via de Extended Replace in Homesite. Ik heb alle documentatie goed gelezen en gezocht naar mogelijke oplossing maar het lukt me maar niet.

Ik heb
code:
1
2
<a href="../../../Afdelingen/Management%20&amp;%20organisatie/Management%20&amp;%20organisatie.htm"><font color="#2C30C7">Management 
      &amp; organisatie</font></a>

en daarbij wil ik de font-color veranderen. Er zijn echter ook een aantal linkjes in het document die ik niet van font-color wil veranderen, en die moeten niet meeveranderd worden.

Nou heb ik even één document geopend om te kijken of het me lukt, maar met de regex
code:
1
<a href=\"([*"])\"><font color=\"#2C30C7\">([*"])</font></a>
gebeurt dus helemaal niks, en dat vind ik vreemd. Ik heb ook een aantal lijkende regexes geprobeerd, maar bij allemaal waren er 0 matches. Volgens mij is dit de juiste code, of zie ik iets over het hoofd?

Wie kan mij helpen?

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 04-08 07:59

chem

Reist de wereld rond

Neem UE en zet de Unix Regexxen daar aan... die zijn veel makkelijker en flexibeler.

En waarom vervang je niet gewoon #2C30C7 ?

Klaar voor een nieuwe uitdaging.


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 09:48
Omdat die kleur ook op andere plekken voorkomt en daar niet vervangen mag worden (zoals ik zei).

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

beetje offtopic, maar als je slim bent ros je gelijk al die font-tags eruit en geef je je links een className zodat je het voortaan met CSS kan doen ;)

Intentionally left blank


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 09:48
Opzich heb je daar gelijk in, helaas is de persoon die er hierna weer mee verder gaat werken een frontpage-figuur, dus dan zijn al die CSS-dingen toch gelijk weer verkloot :P.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

mmmz, tsja wat zal ik er van zeggen? Nou ja, ik kan maar beter m'n mond dichthouden denk... ;)

over je regexp, ik denk dat je hiermee wel verder zou moeten komen (even in PHP, JS, Perl- notatie):

code:
1
2
3
4
5
/<a href="([^"]+)"><font color="#2C30C7">/gi

vervangen door:

<a href="$1"><font color="#xxxxxx">


[^"]+ zou je ook nog kunnen schrijven als .+? als homesite de ungreedy modifier ondersteund
gi zijn de JS-switches voor global matching en case-insensitive

[ Voor 7% gewijzigd door crisp op 02-10-2003 11:27 ]

Intentionally left blank


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 09:48
Ok, met dank aan crisp ben ik er inmiddels uit gekomen :).

Ik had in de documenten waarop ik de regexen wilde toepassen verschillende delen waarin het stuk met de font-color voorkwam.

De / en /gi zijn in Homesite niet nodig. De $1 wordt geschreven als \1. Verder werkte de regex zoals hij hierboven werd geschreven. Ik heb nog wat kleine aanpassinkjes gedaan omdat ik nog een conditie moest stellen aan óf de URL óf de hyperlink-tekst, maar dat is allemaal goedgegaan.

Inmiddels zijn de documenten aangepast.
Pagina: 1