Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!feeder.news-service.com!newsfeed101.telia.com!starscream.dk.telia.net!news.tele.dk!feed118.news.tele.dk!not-for-mail Newsgroups: comp.lang.javascript Subject: Re: Regular expression question References: From: Lasse Reichstein Nielsen Date: Wed, 26 Oct 2011 19:33:06 +0200 Message-ID: User-Agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Rational FORTRAN, windows-nt) Cancel-Lock: sha1:FgmvrpCtnuRXYI2ou4ZtixN1c9M= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Lines: 30 Organization: TDC Totalloesninger NNTP-Posting-Host: 87.57.52.80 X-Trace: 1319650387 dtext01.news.tele.dk 281 87.57.52.80:49965 X-Complaints-To: abuse@post.tele.dk Xref: x330-a1.tempe.blueboxinc.net comp.lang.javascript:7699 cerr writes: > First thing, I'm a regular expression newbie.... somewhat anyways... > I would like to recognize the difference between this url: > http://quaaoutlodge.com/site/the-lodge/our-history.html > and that url: > http://quaaoutlodge.com/site/the-lodge.html > and at the same time extract the document name (our-history or the- > lodge) and the directory name if present (the-lodge). > I got stuck at how rto rcognize the second directory instead of the > first (the-lodge/ instead of site/) with "\b\/[a-z]+\/" how do i get > the second one only? When you think a RegExp might solve your problem - stop for a moment and think whether there is also a simpler solution :) In this case, I'd just do: function name(url) { var name_end = url.lastIndexOf("."); var name_start = url.lastIndexOf("/", name_end) + 1; return url.substr(name_start, name_end); } If your URLs aren't always that simple, you'd need to adapt a RegExp too. /L -- Lasse Reichstein Holst Nielsen 'Javascript frameworks is a disruptive technology'