From: "mame (Yusuke Endoh)" Date: 2013-05-31T13:23:27+09:00 Subject: [ruby-core:55215] [ruby-trunk - Bug #7092][Rejected] StringScanner start-of-line matches false positives, while lookbehind for a newline gives false negatives Issue #7092 has been updated by mame (Yusuke Endoh). Status changed from Feedback to Rejected I'm marking this ticket as closed due to no feedback. -- Yusuke Endoh ---------------------------------------- Bug #7092: StringScanner start-of-line matches false positives, while lookbehind for a newline gives false negatives https://bugs.ruby-lang.org/issues/7092#change-39576 Author: jayferd (Jay Adkisson) Status: Rejected Priority: Low Assignee: mame (Yusuke Endoh) Category: Target version: next minor ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] Backport: To reproduce: >> require 'strscan' >> ss = StringScanner.new("ab") >> ss.scan(/./) => "a" >> ss.scan(/^./) # expecting nil, since the head is in the middle of a line => "b" As a workaround-that-didn't-work, I also tried looking behind for a newline, which seems never to match, even with the `m` flag. >> ss = StringScanner.new("a\nb") >> ss.scan(/../m) => "a\n" >> ss.scan(/(?<=\n)./m) # expecting "b", since the previous char is a newline => nil -- http://bugs.ruby-lang.org/