Regex hostnames?

Not versed in regex, hopefully someone can help me out.

How can I return only the domain from a string like

host[0-9].temp.temp.com
or
[0-9]host.temp.com

So it only returns “temp.temp.com” or “temp.com”. Essentially removing
the shortname of the host even if there is a range within the shortname.
I may have additional periods to identify subdomains but there will
never be a period inside a the shortname of the host.

On Tue, Jan 15, 2013 at 10:26 PM, skolo pen [email protected]
wrote:

the shortname of the host even if there is a range within the shortname.
I may have additional periods to identify subdomains but there will
never be a period inside a the shortname of the host.

So you want to remove everything up to the first period?

s = “host1.temp.temp.com
s[/…*/,1]

http://ruby-doc.org/core-1.9.3/String.html#method-i-5B-5D

Jesus.

s = “host1.temp.temp.com
s[/…*/,1]

Shouldn’t that be s[/…/,0] or s[/…/] ?

On 16 January 2013 09:20, Joel P. [email protected] wrote:

s = “host1.temp.temp.com
s[/…*/,1]

Shouldn’t that be s[/…/,0] or s[/…/] ?

Or if you don’t want the dot:

s[/\.(.*)/,1]


Matthew K., B.Sc (CompSci) (Hons)
http://matthew.kerwin.net.au/
ABN: 59-013-727-651

“You’ll never find a programming language that frees
you from the burden of clarifying your ideas.” - xkcd

On Wed, Jan 16, 2013 at 12:36 AM, Matthew K. [email protected]
wrote:

s[/\.(.*)/,1]

Exactly, that was what I meant to write…

Jesus.

On Wed, Jan 16, 2013 at 12:20 AM, Joel P. [email protected]
wrote:

s = “host1.temp.temp.com
s[/…*/,1]

Oops, copy/paste error, I forgot the parens. This was my meant solution:

1.9.2p290 :003 > s[/.(.*)/,1]
=> “temp.temp.com

Shouldn’t that be s[/…/,0] or s[/…/] ?

These ones return also the first “.”:

1.9.2p290 :004 > s[/…/,0]
=> “.temp.temp.com”
1.9.2p290 :005 > s[/…
/]
=> “.temp.temp.com”

Jesus.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs