A aparência de regex afeta a correspondência subseqüente?

Eu estava brincando com expressões regulares e me deparei com algo que não entendo.

Eu esperaria esta expressão regular:

(?=1)x

para corresponder a esta sequência:

"x1"

Mas isso não acontece. Em ruby, o código se parece com:

> "x1".match /(?=1)x/
=> nil

Aqui está o que eu esperava que acontecesse:

Começamos com o cursor do analisador de expressões regulares em "x".O mecanismo regexp procura na string "1" e obtém uma correspondência. O cursor ainda está no "x"O mecanismo regexp procura por "x" e o encontra, pois o cursor não se moveu.Sucesso! Lucro!

Mas aparentemente estou enganado, porque não é compatível. Alguém poderia me dizer onde eu errei?

Aliás, notei que, se o padrão correspondido pela cabeça de impressão contiver os caracteres que estou correspondendo na expressão subsequente, ele funcionará. ie(?=x)x fósforosx1 bem. Suspeito que essa seja a chave do mistério, mas não estou entendendo. :)

questionAnswers(2)

yourAnswerToTheQuestion