---
title: "ASP och regex problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/115933-asp-och-regex-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "saw"
published: "2004-11-15T10:55:21.000Z"
updated: "2004-11-16T15:36:05.000Z"
replies: 10
views: 339
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/115933-asp-och-regex-problem"
---

# ASP och regex problem

## #1 — saw, 2004-11-15T10:55Z

Vore tacksam för lite hjälp. 

```
regEx.Pattern = "%%1"
  Set Matches = regEx.Execute(mytext)
  For each match1 in Matches  
    mytext = regEx.Replace(mytext, match1,VBCrlf + "\n\r" +    match1 + "\n\r")
  Next
```

 

Alltså när regex hittar "%%1" då ville jag ha en radbrytning framför och en bakom. Jag får inga felmedelande, men ingenting händer heller. 
Om jag skriver ut match1 så ser jag att den hittar rätt, men någonting är galet.

Permalänk: https://www.webforum.nu/p/115933

## #2 — J.N., 2004-11-15T10:58Z

HEJ!

Fungerar  "\\n\\r" i VB-script? Jag använder enbart VbCrLf och/eller VbTab.

Permalänk: https://www.webforum.nu/p/1484290

## #3 — saw, 2004-11-15T11:09Z

Försöker jag så här:

```
  mytext = regEx.Replace(mytext, match1,VBCrlf + VbCrLf +    match1 + VBCrlf + VbCrLf)
```

så fungerar det inte heller... :l

Permalänk: https://www.webforum.nu/p/1484295

## #4 — J.N., 2004-11-15T11:12Z

HEJ!

& istället för +?

Permalänk: https://www.webforum.nu/p/1484297

## #5 — saw, 2004-11-15T11:42Z

Tyvärr, så enkelt var det inte.

Permalänk: https://www.webforum.nu/p/1484310

## #6 — J.N., 2004-11-15T12:38Z

HEJ!

Prova att ersätta med en annan text än Match1 istället. 

Heter det inte Match.value förresten?
<http://www.devguru.com/Technologies/vbscript/quickref/regexp.html>

Permalänk: https://www.webforum.nu/p/1484327

## #7 — saw, 2004-11-15T14:07Z

Nu så lyckades jag att fixa det:

```
	Set RegEx = New RegExp
  	RegEx.Pattern = "%%"
  	RegEx.Global = True
  	RegEx.Multiline = True
  	Set Matches = RegEx.Execute(mytext)
  	For each Match in Matches
	mytext=Replace(mytext,Match,VBCrlf & Match)
  	Next
```

Men ack den som ropar hej...
Nu är det som så, att i den textfilen, så får inte första raden vara tom, den måste börja med %%
Som det nu är så blir det ju en radbrytning först.
Jag försöker med

```
if Match.FirstIndex > 1 then
		mytext=Replace(mytext,Match,VBCrlf & Match)
		end if
```

..men det reagerar den inte för.
Puuh det här var knepigt värre.

Permalänk: https://www.webforum.nu/p/1484380

## #8 — J.N., 2004-11-15T16:28Z

HEJ!

Njae, Firstindex gäller inte som du tror, det är en position; det finns inte Second/Third...TwelfthIndex.

> This property returns the position, counted from the left with the first position being numbered zero, in a string where a match was made.
> <http://www.devguru.com/Technologies/vbscript/quickref/match.html>

Det enklaste är att lägga en räknare som hoppar över första varvet, if i\>1 then skriv ut.

Permalänk: https://www.webforum.nu/p/1484481

## #9 — saw, 2004-11-15T20:19Z

Det här ser ut att bli en långkörare, men jag får inte ihop det.
Det slutar med att den "tömmer" textfilen.

```
Dim RegEx,Matches,sMytext
  	Set RegEx = New RegExp
  	RegEx.Pattern = "%%"
  	RegEx.Global = True
  	RegEx.Multiline = True
  	Set Matches = RegEx.Execute(mytext)
Dim i
i = 0
  	For each Match in Matches
  		if i > 1 then
			mytext=mytext & Replace(mytext,Match,VBCrlf & Match)
		else
		end if
		i=i +1
		mytext=mytext
  	Next
```

Vad gör jag för fel? :r

Permalänk: https://www.webforum.nu/p/1484665

## #10 — J.N., 2004-11-16T09:50Z

HEJ!

Ja, jag vet inte, men ska detta vara så?
mytext=**mytext & \[b/\]Replace(mytext,Match,VBCrlf & Match)

Dessutom behöver du inte else ... end if och sätta mytext till sig själv igen.

Testa med en enklare variant av din fil och skriv ut vad du har för text före och efter och se när/var det blir fel, är mitt generella råd.**

Permalänk: https://www.webforum.nu/p/1484860

## #11 — saw, 2004-11-16T15:36Z

LÖST.
Efter mycket krabbande och på fel spår, så löste det sig:

```
Set RegEx = New RegExp
  	regEx.Pattern = "(%%)"
  	RegEx.Global = True  	
  	Set Matches = RegEx.Execute(mytext)
    mytext = regex.replace(mytext, VbCrLf & "$1")
    mytext=MID(mytext,3)
```

Nu fick jag också bort den första tomma raden.
Tack för all hjälp

Permalänk: https://www.webforum.nu/p/1485029

---

Tråden på webben: https://www.webforum.nu/amne/asp/115933-asp-och-regex-problem
