Thanks Laserlight. I've been keeping a close eye on false positives, as this would cause major issues with my current site. The pattern I need is almost identical to this:
code=html|(TDCU1ZZ)|((([A-PR-UWYZ][0-9][0-9]?)|"
."(([A-PR-UWYZ][A-HK-Y]][0-9][0-9]?)|"
."(([A-PR-UWYZ][0-9][A-HJKSTUW])|"
."([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))))"
."[0-9][ABD-HJLNP-UW-Z]{2})[/code]
Which I found on another website, but didn't really solve my problem as it simply checks a form input for valid postcode, not text in a website.
Appreciate your help btw.