Avatar billede dramsgaard Nybegynder
11. november 2003 - 18:12 Der er 20 kommentarer og
1 løsning

lidt forskelligt om regExp

jeg har et par forskellige spørgsmål om regExp.

Jeg har et pattern der ser sådan ud:

regex.Pattern = "<billede *= *(.+) +H *= *(.+) +B *= *(.+) +placering *= *(.+) +Billedtekst *= *""(.+)""/>"

hvordan kan man lave det sådan at billedtekst er tom, for som det er nu bliver det kun genkendt hvis der står noget i dette.

"Placering" kan være venstre/højre/midt hvordan kan man gøre så det bliver oversat til left/right/center i ovenstående?
Avatar billede erikjacobsen Ekspert
11. november 2003 - 18:14 #1
regex.Pattern = "<billede *= *(.+) +H *= *(.+) +B *= *(.+) +placering *= *(.+) +(Billedtekst *= *""(.+)"")?/>"

formentlig - utestet. Du kan vel efterfølgende lave nogle if-er for at oversætte
venstre til left, osv.

Bemærk at der en ekstra parantes nu, så nummeret på den sidste skal være een højere.
Avatar billede dramsgaard Nybegynder
11. november 2003 - 18:25 #2
hmm den vil stadig ikke genkende det medmindre der står noget i billedtekst
har du et andet forslag?
Avatar billede dramsgaard Nybegynder
11. november 2003 - 18:27 #3
eller os' har jeg ikke formuleret mig klart nok...det er hvis billedtekst="" den ikke vil genkende det, men hvis billedtekst ="et eller andet" kan den godt
Avatar billede erikjacobsen Ekspert
11. november 2003 - 18:34 #4
Prøv
regex.Pattern = "<billede *= *(.+) +H *= *(.+) +B *= *(.+) +placering *= *(.+) +Billedtekst *= *""(.*)""/>"
Avatar billede dramsgaard Nybegynder
11. november 2003 - 18:46 #5
det virkede : )
kan man på en nem måde lave så det er ligegyldigt om H= står før B= eller omvendt?
eller vil det være besværligt at lave?
Avatar billede erikjacobsen Ekspert
11. november 2003 - 18:58 #6
Hmm, lidt bøvlet, da du så efterfølgende ikke lige ved om H står før B eller
omvendt. Så skal du også sætter paranteser om (H) og (B) og teste for det.
Avatar billede dramsgaard Nybegynder
11. november 2003 - 19:01 #7
nå okay det kunne ellers være meget godt, men kan godt se problemet med at finde ud af at udskrive de rigtige værdier efterfølgende
Avatar billede dramsgaard Nybegynder
11. november 2003 - 19:17 #8
jeg har prøvet at lave flg for at oversætte "placerings" værdier, og har indsat det imellem mit Pattern, og den variabel der indeholder værdien der skal udskrives, men jeg kan ikke få intInput til at indeholde værdien af $4, har du et forslag til hvordan jeg kan gøre det?

dim intPlacering, intInput
intInput= "$4"

If intInput = "venstre" Then
  intPlacering = "left"
elseIf intInput = "højre" Then
  intPlacering = "right"
elseIf intInput = "midt" Then
  intPlacering = "center"
else
  intPlacering = "center"
End If
Avatar billede dramsgaard Nybegynder
11. november 2003 - 19:55 #9
det har du måske ikke noget bud på?
Avatar billede erikjacobsen Ekspert
11. november 2003 - 19:56 #10
;) Joh, på et tidspunkt ... jeg kan ikke regexp i ASP/VB udenad.
Avatar billede dramsgaard Nybegynder
11. november 2003 - 20:04 #11
nå okay...vil du se noget mere af koden?
for jeg tror det er noget med at intInput ikke bliver replaced når det står som det gør, men ved ikke rigtig hvordan jeg skal skrive det, for at den replacer intInputs værdi
Avatar billede Slettet bruger
11. november 2003 - 20:53 #12
nogen særlig grund til at intInput er $4 og ikke 4?
Avatar billede erikjacobsen Ekspert
11. november 2003 - 20:55 #13
Du kan jo prøve

intInput= $4

Jeg kan som sagt ikke huske det (jeg skal lige have 5 minutters fred til at
kigge efter...)
Avatar billede dramsgaard Nybegynder
11. november 2003 - 21:01 #14
ezolu>> ved ik helt hvad du mener, men nu har jeg fået løst problemet. (sikkert ik på den mest optimale måde, men nu virker det da)

nu er jeg bare stødt på et nyt problem. Hvis der bliver indsat to billeder lige efter hinanden kan den ikke finde ud af at udskrive dem medmindre der er linjeskift i mellem koden på de to billeder. f.eks:
<billede1><billede2> virker ikke, men

<billede1>
<billede2> virker, hvad kan man gøre ved det?
Avatar billede erikjacobsen Ekspert
11. november 2003 - 21:04 #15
Du skal måske sætte "global"-etellerandet til true
Avatar billede dramsgaard Nybegynder
11. november 2003 - 21:15 #16
hmm hvad kunne det. f.eks være?

jeg er ik lige så skarp til regExp
Avatar billede dramsgaard Nybegynder
11. november 2003 - 22:20 #17
hmm den metode jeg havde brugt til at oversætte venstre til left osv virkede ikke så godt alligevel, så erikjacobsen (eller en anden) du må meget gerne tænke lidt mere over det, hvis du vil : )
Avatar billede dramsgaard Nybegynder
13. november 2003 - 18:42 #18
nå erik... har du givet op?
Avatar billede erikjacobsen Ekspert
13. november 2003 - 18:55 #19
Jamen, det kan vi da godt sige. Du kan jo selv kigge på dokumentationen.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsobjregexp.asp
så er det ganske ligetil
Avatar billede dramsgaard Nybegynder
13. november 2003 - 19:49 #20
ja men jeg kan bare ikke forstå hvorfor den ikke kan udskrive to billeder efter hinanden medmindre man trykker på enter imellem de to billeder

du har ikke lige en ide til et eller andet man kan prøve??

du kan os' godt ligge et svar, så du kan få nogle point for din hjælp : )
Avatar billede dramsgaard Nybegynder
02. december 2004 - 20:39 #21
lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester