次の例でなぜ#2機能せず、機能するのか混乱してい#3ます。
#1. get `o` if immediately preceded by J
"Jones Bond".scan(/(?<=J)o/) #=> o
#2. get `o` if preceded by J anywhere. Since `J` occurs once I am using `+`
"James Bond".scan(/(?<=J)+o/) #=> [] empty
#3. get `o` if preceded by J anywhere zero or more times by using `*`
"James Bond".scan(/(?<=J)*o/) #=> o
簡単に覚えられるように翻訳lookbehindします。それが正しいか?left-to-rightlookaheadright-to-left