Slide a length-m window over the text, roll the hash in O(1) (remove the leading char, add the trailing char), compare to the pattern hash, and verify on a hit.
junior.md and professional.md
for the rolling-update derivation and the collision-probability bound.