Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #21591

Re: regular expression

Message-ID <2009598.r5QypLNUnr@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2013-10-11 01:06 +0200
Subject Re: regular expression
Newsgroups comp.lang.javascript
References <l36qvt$6rq$1@dont-email.me> <1692823.iOv17HgRNK@PointedEars.de> <0.59968aeff2274c0aa6ab.20131010213157BST.8738o827gi.fsf@bsb.me.uk> <4522206.f2d4svmm8S@PointedEars.de> <0.db90040c6be3639c247a.20131010235624BST.87r4bszqef.fsf@bsb.me.uk>

Show all headers | View raw


Ben Bacarisse wrote:

> Thomas 'PointedEars' Lahn <PointedEars@web.de> writes:
>> Ben Bacarisse wrote:
>>> Thomas 'PointedEars' Lahn <PointedEars@web.de> writes:
>>>> Tony Johansson wrote:
>>>>> I want to filter this expression
>>>>> http://localhost:49507/slutProjekt/img/TwinBagel.jpg
>>> <snip>
>>>>> by using regular expression so that I only want the string that starts
>>>>> after the last / and end before the dot.
>>> <snip>
>>> 
>>>>   var s = elmnt.src.replace(/^.*\/([^.]+).*/, '$1');
>>>>
>>>> Better:
>>>>
>>>>   var m = (elmnt.src.match(/([^.\/]+)(?:\..*?)?$/) || [])[1];
>>> 
>>> Not if there is an earlier '.' in the string.
>>
>> It was not intended as a general solution.
> 
> Oh, OK.  That's odd, but it's yours to define "better" as a less general
> solution.

Using String.prototype.match() is better than String.prototype.replace() 
here because it is the *direct* solution to the problem of extracting a 
substring by using pattern matching.

>>> I think your first RE will do just as well here, though the trailing .*
>>> is no longer needed:
>>> 
>>>   var m = (elmnt.src.match(/^.*\/([^.]+)/) || [])[1];
>>
>> This is simpler and more general, but less efficient.
> 
> That's interesting.  What makes it less efficient?

For a start, it has to match almost the entire input when only the last 
fragment of it is needed.
 
-- 
PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

regular expression "Tony Johansson" <johansson.andersson@telia.com> - 2013-10-10 20:17 +0200
  Re: regular expression "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-10-10 20:29 +0200
  Re: regular expression Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-10-10 21:33 +0200
    Re: regular expression Ben Bacarisse <ben.usenet@bsb.me.uk> - 2013-10-10 21:31 +0100
      Re: regular expression Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-10-10 22:57 +0200
        Re: regular expression Ben Bacarisse <ben.usenet@bsb.me.uk> - 2013-10-10 23:56 +0100
          Re: regular expression Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-10-11 01:06 +0200
            Re: regular expression Ben Bacarisse <ben.usenet@bsb.me.uk> - 2013-10-11 01:21 +0100
  Re: regular expression RobG <rgqld@iinet.net.au> - 2013-10-10 18:48 -0700
    Re: regular expression Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-10-11 11:42 +0200
  Re: regular expression dhtml <dhtmlkitchen@gmail.com> - 2013-10-16 10:19 -0700

csiph-web