Regex to extract numbers

I have an array of links like this

/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2

I need to extract only the 5335, how could this be done using regular
expressions?

···

--
Posted via http://www.ruby-forum.com/.

Given that you're using a link, the best way would likely be to use
something like Addressable to extract that specific query value.

irb(main):001:0> require 'addressable/uri'

q = Addressable::URI.parse
'/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2'

irb(main):003:0> q.query_values
=> {"NumeroSequencialDocumento"=>"5335", "CodigoTipoInstituicao"=>"2"}

irb(main):004:0> q.query_values['NumeroSequencialDocumento']
=> "5335"

···

--
Posted via http://www.ruby-forum.com/.

Renato Co wrote in post #1117719:

I have an array of links like this

/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2

I need to extract only the 5335, how could this be done using regular
expressions?

If you do insist on using a Regular Expression, this should do it for
that specific link:

s =
'/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2'

s.match( /NumeroSequencialDocumento=(\d+)/ )[1]

···

--
Posted via http://www.ruby-forum.com/\.

or, using a named capture group:

  /NumeroSequencialDocumento=(?<number>\d+)/ =~ s
  number # => "5335"

Regards,
Marcus

···

Am 05.08.2013 00:09, schrieb Joel Pearson:

Renato Co wrote in post #1117719:

I have an array of links like this

/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2

I need to extract only the 5335, how could this be done using regular
expressions?

If you do insist on using a Regular Expression, this should do it for
that specific link:

s =
'/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2'

s.match( /NumeroSequencialDocumento=(\d+)/ )[1]

--
GitHub: stomar (Marcus Stollsteimer) · GitHub
PGP: 0x6B3A101A

Or even good old extraction via String#:

irb(main):011:0> s =
'/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2'
=>
"/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2"
irb(main):012:0> s[/\d{2,}/]
=> "5335"

Cheers

robert

···

On Mon, Aug 5, 2013 at 12:13 AM, <sto.mar@web.de> wrote:

Am 05.08.2013 00:09, schrieb Joel Pearson:
> Renato Co wrote in post #1117719:
>> I have an array of links like this
>>
>>
>
/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2
>>
>>
>> I need to extract only the 5335, how could this be done using regular
>> expressions?
>
> If you do insist on using a Regular Expression, this should do it for
> that specific link:
>
> s =
>
'/ENETCONSULTA/frmGerenciaPaginaFRE.aspx?NumeroSequencialDocumento=5335&CodigoTipoInstituicao=2'
>
> s.match( /NumeroSequencialDocumento=(\d+)/ )[1]

or, using a named capture group:

  /NumeroSequencialDocumento=(?<number>\d+)/ =~ s
  number # => "5335"

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/