tags:

views:

29

answers:

3

How do i match from these urls:

http://foo.bar.com  
http://bar.com

foo.bar from the first link and bar from the second link using one single regex?

+1  A: 

Try this:

^http://(.*)\.com$

Here's how to use it from Python:

import re

for url in ['http://foo.bar.com', 'http://bar.com']:
    print re.match('^http://(.*)\.com$', url).group(1)

Output:

foo.bar
bar
Mark Byers
+1  A: 

You didn't mention your language. In Ruby,

>> s = 'http://foo.bar.com'
>> s =~ /\/\/(.*)\./
>> $1
=> "foo.bar"
Peter
A: 

In Javascript, you will need to use the same regex as given by Mark Byers, no need to change anything:

var p = new RegExp("^http://(.*)\.com");

var out = p.exec(string_var_here);
if(out != null) {
  var str = out[1];
}
soulBit