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?

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”

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]

Am 05.08.2013 00:09, schrieb Joel P.:

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=(?\d+)/ =~ s
number # => “5335”

Regards,
Marcus

On Mon, Aug 5, 2013 at 12:13 AM, [email protected] wrote:

expressions?
or, using a named capture group:

/NumeroSequencialDocumento=(?\d+)/ =~ s
number # => “5335”

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