Project

General

Profile

Actions

Bug #7092

closed

StringScanner start-of-line matches false positives, while lookbehind for a newline gives false negatives

Added by jayferd (Jay Adkisson) over 11 years ago. Updated almost 11 years ago.

Status:
Rejected
Target version:
ruby -v:
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
Backport:
[ruby-core:47759]

Description

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
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0