El tema de las expresiones regulares .. puedes revisar este tutorial:
http://www.ignside.net/man/php/regex.3.php
El "UPdate" condicional que quieres hacer .. podría ser algo tipo:
UPDATE SET campo_b='dato' WHERE campo_a='tiene_tal_valor' AND id='algun_registro_concreto'
También podrías -antes- de ejecutar tu UPDATE un SELECT condicional (bajo WHERE ...) para ver si obtienes resultados y así controlar el mensaje de error si corresponde emitirlo (aunque con el "UPDATE" de esa manera viendo los registros afectados: mysql_affected_rows() podrías verlo también).
Un saludo,