Well, if we're interested in forward and backward validity, the pattern should probably be more like:

```
/[a-f0-9]{4}(?:-?[a-f0-9]{4}){7}/i
```

That way, Postgres and SF would agree on what's acceptable.