/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
RegExp
Fra : Ryan Kristensen


Dato : 08-11-04 20:56

Hej.

Jeg er igang med at hente noget ud af en tekststreng.
strengen vil ligne denne:
"http://www.domæne.dk/board/board.asp?thpostid=31#post31"
Det eneste der bliver ændret er 31.

Det jeg gerne vil have ud af stregen er: ?thpostid=31
Jeg har forsøgt med dette regexp:
var addy = /(\?).*(?=#)/.exec(adresse)[0]
hvilket virker fint i IE6, IE5.5, Opera7.6P2 og Mozilla, men IE 5 fejler
pga. (?=#) nærmere betegnet ?=, som den af en eller anden grund ikke vil
gøre.
Jeg får fejlen: Unexpected Quantifier.

Er der nogen der kan gennemskue, hvordan jeg kan få det til at virke i IE5
også?

--
Ryan Kristensen

 
 
FFunky (08-11-2004)
Kommentar
Fra : FFunky


Dato : 08-11-04 21:24

"Ryan Kristensen"
> Hej.
>
> Jeg er igang med at hente noget ud af en tekststreng.
> strengen vil ligne denne:
> "http://www.domæne.dk/board/board.asp?thpostid=31#post31"
> Det eneste der bliver ændret er 31.
>
> Det jeg gerne vil have ud af stregen er: ?thpostid=31
> Jeg har forsøgt med dette regexp:
> var addy = /(\?).*(?=#)/.exec(adresse)[0]
> hvilket virker fint i IE6, IE5.5, Opera7.6P2 og Mozilla, men IE 5 fejler
> pga. (?=#) nærmere betegnet ?=, som den af en eller anden grund ikke vil
> gøre.
> Jeg får fejlen: Unexpected Quantifier.
>
> Er der nogen der kan gennemskue, hvordan jeg kan få det til at virke i IE5
> også?
>
> --
> Ryan Kristensen

Hvis du ikke har bidt dig fuldstændig fast i at det _skal_ være regexp og
hvis
nummer tegnet (#) altid forekommer kun en gang og altid er efter det tal du
jagter,
kunne du jo lede efter det og så tælle baglæns til lighedstegnet (=)

--
Med venlig hilsen
Tom Jensen
www.FFSoft.dk



Ryan Kristensen (09-11-2004)
Kommentar
Fra : Ryan Kristensen


Dato : 09-11-04 00:36

On Mon, 8 Nov 2004 21:24:20 +0100, FFunky <fffunky@nowhere.com> wrote:

> Hvis du ikke har bidt dig fuldstændig fast i at det _skal_ være regexp

Det har jeg selvfølgelig ikke. Men jeg kender ikke til andre måder at
finde det på.

> og hvis nummer tegnet (#) altid forekommer kun en gang og altid er efter
> det tal du jagter,

Det gør det.

> kunne du jo lede efter det og så tælle baglæns til lighedstegnet (=)

Lede efter det med hvad? Hvis det ikke skal være et RegExp, hvordan skal
jeg så søge i strengen?

--
Ryan Kristensen

JH (09-11-2004)
Kommentar
Fra : JH


Dato : 09-11-04 00:40

Ryan Kristensen wrote:
> Lede efter det med hvad? Hvis det ikke skal være et RegExp, hvordan
> skal jeg så søge i strengen?

Du kan lave en masse "streng-gymnastik" til at finde en bestemt del af
en streng. Dog tror jeg RegExp er en hel del hurtigere.

Tag et kig på metoderne substring og indexof.

Mvh
Jeppe

Christian Hansen (09-11-2004)
Kommentar
Fra : Christian Hansen


Dato : 09-11-04 08:18

Hej Ryan

Ryan Kristensen wrote:
> Hej.
>
> Jeg er igang med at hente noget ud af en tekststreng.
> strengen vil ligne denne:
> "http://www.domæne.dk/board/board.asp?thpostid=31#post31"
> Det eneste der bliver ændret er 31.

Måske dette løser dit problem:


<script type="text/javascript">
var str = "http://www.domæne.dk/board/board.asp?thpostid=31#post31";
var regexp = /(.*\?)([^#]+=[0-9]+)(#.*)/;
var result = str.replace(regexp,"$2");
alert(result);
</script>

Mvh Christian

Christian Hansen (09-11-2004)
Kommentar
Fra : Christian Hansen


Dato : 09-11-04 08:23

Christian Hansen wrote:
>
> <script type="text/javascript">
> var str = "http://www.domæne.dk/board/board.asp?thpostid=31#post31";
> var regexp = /(.*\?)([^#]+=[0-9]+)(#.*)/;


og vil du have ? med i result, kan regexet se således ud :
/([^?]*)([^#]+=[0-9]+)(#.*)/;

Mvh Christian

Ryan Kristensen (09-11-2004)
Kommentar
Fra : Ryan Kristensen


Dato : 09-11-04 12:46

On Tue, 09 Nov 2004 08:17:59 +0100, Christian Hansen
<chrsen@fundanemt.com> wrote:

> Måske dette løser dit problem:
[Snip - eksempel der virker]

Jeg siger mange tak, det ser ud til at IE5 også vil være med på det.

--
Ryan Kristensen

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste