Bug #8828

regex matching not correct

Added by jy j 8 months ago. Updated 8 months ago.

[ruby-core:56845]
Status:Rejected
Priority:Normal
Assignee:-
Category:-
Target version:-
ruby -v:2.0.0-p247 Backport:1.9.3: UNKNOWN, 2.0.0: UNKNOWN

Description

str = " [1]: http://google.com/ "Google""

str =~ /\A\s[(.+)]:\ (\S+)\s((?<=").+(?="))/
#=> nil

#then i replace this part '(?<=").+(?=")' with '.+'

str =~ /\A\s[(.+)]:\ (\S+)\s(.+)/
#=> 0

$3
#=> ""Google""

$3 =~ /((?<=").+(?="))/
#=> 6

$1

=> "Google"

it can matching now! but i just replace a part of regex with .+, then retry the part, it should not matching? (or it should work at beginning)

History

#1 Updated by Nobuyoshi Nakada 8 months ago

  • Status changed from Open to Rejected

Your bug.
Lookbehind matches the preceding part, which matches \s* in your regexp.

Also available in: Atom PDF