From: ts Date: 2003-02-13T01:11:51+09:00 Subject: Re: Need regex help (or bug in match) >>>>> "J" == Jim Freeze writes: J> % ruby -v J> ruby 1.7.3 (2002-12-17) [sparc-solaris2.8] It's broken your solaris nasun% cat b.rb #!./ruby -v FETCH_DATA_HDR = /\[([^]]*)\]/ PUSH_DATA_HDR = Proc.new { |line| m = FETCH_DATA_HDR.match(line.strip) a = m[1].split(/\s*,\s*/, 2) hdr = [] p a hdr << {:X_VAR_NOM => a.shift} p a p a[0] s = /^([^(]*)\(/.match(a[0]) puts /Vg/ =~ a[0] p s[1] #=> Vg # How can this match Vg when /Vg/ =~ a[0] == nil? } line = "[Vgs, Id(Vbs=0.0E+00), Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0]" PUSH_DATA_HDR.call(line) line2 = "[Id(Vbs=0.0E+00), Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0]" PUSH_DATA_HDR.call(line2) nasun% nasun% b.rb ruby 1.7.3 (2002-12-04) [sparc-solaris2.8] ./b.rb:13: warning: ambiguous first argument; make sure ["Vgs", "Id(Vbs=0.0E+00), Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0"] ["Id(Vbs=0.0E+00), Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0"] "Id(Vbs=0.0E+00), Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0" nil "Id" ["Id(Vbs=0.0E+00)", "Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0"] ["Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0"] "Id(Vbs=-4.5E-01), Vds=1.0E-01, Ref_Vs=0" nil "Id" nasun% Guy Decoux