Just complementing Jeff's answer with one written in sed:
sed -n '7,13 { /expression/ p; }' <file
This would print every line between lines 7 and 13 (inclusively) that matches the regular expression expression. The default output is turned off with -n so only the lines explicitly printed with the p command will be outputted.
A direct translation of the above sed script into awk:
awk 'NR == 7, NR == 13 { if (/expression/) print }' <file
The condition NR == 7, NR == 13 should be read as "from any input record for which NR is 137, to any input record for which NR is 17"13", where "input record" by default is a line and NR is the number of records (lines) read so far.