The + is a regexp metacharacter, so you have to escape it if you want to match a literal +. And because \ is a string metacharacter, you have to escape it too.
mysql> select 'ABCDE/+19876543210@abc-def' regexp
'^ABCDE/\\+1(123|234|345|456)[0-9]{7}@abc-def$' as is_match;
+----------+
| is_match |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
mysql> select 'ABCDE/+12346543210@abc-def' regexp
'^ABCDE/\\+1(123|234|345|456)[0-9]{7}@abc-def$' as is_match;
+----------+
| is_match |
+----------+
| 1 |
+----------+
I don't know why you had \\ in your regexp pattern, because that doesn't match the sample string.
I'm not sure what your digit triples are about. Are they phone area codes? Are you planning to list every area code?
1to be either of these(123|234|345|456)?[1-9]-->[0-9]