WHERE as expression vs subquery

Can anyone explain the difference between these 2 statements and why the 1th one doesn’t work?

UPDATE category_copy
SET category = 'cat_NEW'
WHERE category = (category REGEXP '_A$') AND category_id = 1;

Warning: #1292 Truncated incorrect DOUBLE value: '........'

UPDATE category_copy
SET category = 'cat_NEW'
WHERE (SELECT category REGEXP '_A$' AND category_id = 1);

Ok, got it.
No operator with regex.

I wouldn’t use regular expressions unless really needed. LIKE '%_A' should do the job, too.