Search for string and print top and bottom line

Hi Folks

I need a one liner to parse through a log and if the string is found print the line above, the line with the string and the line below.

example:

The ball is green and blue
Billy through the ball higer.
Jane got hurt with the ball.

So if I search for Billy I would need the 3 lines above printed.

Thanks

grep -A1 -B1 'Billy' file