From: Ralph Mason Date: 2001-10-30T16:58:26+09:00 Subject: [ruby-talk:23817] Probably a simple one This is a multi-part message in MIME format. ------=_NextPart_000_05FF_01C16185.B7E5CD40 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0600_01C16185.B7E5CD40" ------=_NextPart_001_0600_01C16185.B7E5CD40 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I am trying to extract the href from links in HTML, however the regular = expression matcher doesn't appear to stop in the correct place. I intend the regular expression to extrace the href that is enclosed in = quotes and return that into $1. However is seems to 'miss' the first = set of quotes and a following one and finally stop on a third set. Here is an example s=3D"xxx " s =3D~ /<.*A.*href *=3D *"(.*)".*>/ =3D> 0 $1 =3D> "l.htm\">xxx
I am trying to extract the href from = links in HTML,=20 however the regular expression matcher doesn't appear to stop in the = correct=20 place.
 
I intend the regular expression to = extrace the href=20 that is enclosed in quotes and return that into $1.  However is = seems to=20 'miss' the first set of quotes and a following one and finally stop on a = third=20 set.
 
Here is an example
 
s=3D"<A  = href=3D\"l.htm\">xxx <IMG =20 src=3D\"images/la.gif\" width=3D4></A>"
 
s =3D~ /<.*A.*href *=3D = *"(.*)".*>/  =20 =3D> 0
 
$1   =3D>  = "l.htm\">xxx=20 <IMG  src=3D\"images/la.gif"
 
 
I am sure this is some error in my = regular=20 expression but I can't see what.
 
Thanks for any help
Ralph
 
------=_NextPart_001_0600_01C16185.B7E5CD40-- ------=_NextPart_000_05FF_01C16185.B7E5CD40 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIII6jCCAogw ggHxoAMCAQICAwUraTANBgkqhkiG9w0BAQIFADCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdl c3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsT FENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAw MC44LjMwMB4XDTAxMDcwOTIyMjQyMVoXDTAyMDcwOTIyMjQyMVowSTEfMB0GA1UEAxMWVGhhd3Rl IEZyZWVtYWlsIE1lbWJlcjEmMCQGCSqGSIb3DQEJARYXcmFscGgubWFzb25AdGVsb2dpcy5jb20w gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALu1srM8OOgNUMoigvNmihzsJXCfvY2n9hL65rKd O/CxPTI4KAVYUbzwydLkEVwJt/w1y/7jY4wKhsJ3Alfb8eYaNExtqx0jmPcrdmi9bIAvt9C0nV3H WgkBjflKo6yZ2e//XTjE6cCAWX90VaoQkE24xwTQHZk6JNoO8+VOg++dAgMBAAGjNDAyMCIGA1Ud EQQbMBmBF3JhbHBoLm1hc29uQHRlbG9naXMuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEC BQADgYEACQ4AmyU5KZSJdDsVGOBIMdaPO9WFFbMbHIV/VoR39Lo2mZivetU5SN8bSvtGqR6sEtcf hFqS74953nqkoLTi94+lA8sczaDs8dBVdnAYBA0mqLDqOd9FDofF2L1RYwZueBJ6ej6U/WOphOud phIMy2yJfvhYEZBEDX7rqqQnM0EwggMpMIICkqADAgECAgEMMA0GCSqGSIb3DQEBBAUAMIHRMQsw CQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2Vz IERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG 9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDAwODMwMDAwMDAwWhcNMDIw ODI5MjM1OTU5WjCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UE BxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZp Y2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDeMzKmY8cJJUU+0m54J2eBxdqIGYKXDuNEKYpjNSptcDz63K737nRv MLwzkH/5NHGgo22Y8cNPomXbDfpL8dbdYaX5hc1VmjUanZJ1qCeu2HL5ugL217CR3hzpq+AYA6h8 Q0JQUYeDPPA5tJtUihOH/7ObnUlmAC0JieyUa+mhaQIDAQABo04wTDApBgNVHREEIjAgpB4wHDEa MBgGA1UEAxMRUHJpdmF0ZUxhYmVsMS0yOTcwEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMC AQYwDQYJKoZIhvcNAQEEBQADgYEAcxtvJmWL/xU0S1liiu1EvknH6A27j7kNaiYqYoQfuIdjdBxt t88aU5FL4c3mONntUPQ6bDSSrOaSnG7BIwHCCafvS65y3QZn9VBvLli4tgvBUFe17BzX7xe21Yib t6KIGu05Wzl9NPy2lhglTWr0ncXDkS+plrgFPFL83eliA0gwggMtMIIClqADAgECAgEAMA0GCSqG SIb3DQEBBAUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNOTYw MTAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rl cm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEo MCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3Rl IFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0 aGF3dGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUadfUsJRkW3HpR9gMUbbqcpGw hF59LQ2PexLfhSV1KHQ6QixjJ5+Ve0vvfhmHHYbqo925zpZkGsIUbkSsfOaP6E0PcR9AOKYAo4d4 9vmUhl6t6sBeduvZFKNdbnp8DKVLVX8GGSl/npom1Wq7OCQIapjHsdqjmJH9edvlWsQcuQIDAQAB oxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAMfskn5O+PWWpWdiKqTwTRFg 0G+NYFhhrCa7UjVcCM8w+6hKloofYkIjjBcP9LpknBesRynfnZhe0mxgcVyirNx54+duAEcftQ0o 6AKd5Jr9E/Sm2Xyx+NxfIyYJkYBz0BQb3kOpgyXy5pwvFcr+pquKB3WLDN1RhGvk+NHOd6KBMYIB /jCCAfoCAQEwgZowgZIxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNV BAcTCUNhcGUgVG93bjEPMA0GA1UEChMGVGhhd3RlMR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2 aWNlczEoMCYGA1UEAxMfUGVyc29uYWwgRnJlZW1haWwgUlNBIDIwMDAuOC4zMAIDBStpMAkGBSsO AwIaBQCggbowGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDExMDMw MDc1OTA4WjAjBgkqhkiG9w0BCQQxFgQU1S4lbA11GwGI3pyvr9F0+2k4bNswWwYJKoZIhvcNAQkP MU4wTDAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcw DQYIKoZIhvcNAwICASgwBwYFKw4DAh0wDQYJKoZIhvcNAQEBBQAEgYB0jS3b9+3ytX96lejmJ/U2 I46Ep19OPCdmhTI+qc3AeyAYAMWXF17VC8HQLIl2H+qxvIx1842bnGj/CwEakT5e2kctmsvgG9U8 q+aWI4Neo434dJKyqblJ9Cms5g4XEA8QRbCge4WxVCzoc/GJxJ6vJDJnBLxVrKWyRHyeuttNdwAA AAAAAA== ------=_NextPart_000_05FF_01C16185.B7E5CD40--