Partido más corto en expresiones regulares desde el final

Dada una cadena de entradafooxxxxxxfooxxxboo Estoy tratando de escribir una expresión regular que coincidafooxxxboo es decir, desde el segundo foo hasta el último boo.

Probé lo siguiente

foo.*?boo coincide con la cadena completafooxxxxxxfooxxxboo

foo.*boo también coincide con la cadena completafooxxxxxxfooxxxboo

Leo estoCuantificadores codiciosos versus reacios vs. posesivos y entiendo su diferencia, pero estoy tratando de hacer coincidir la cadena más corta desde el final que coincide con la expresión regular, es decir, algo así como la expresión regular que se evaluará desde atrás. ¿Hay alguna manera de que pueda igualar solo la última porción?