A field intended for three capital letters can reject ABCD even though it contains ABC. With HTML pattern validation, a matching fragment is not enough.
The MDN pattern documentation explains that the pattern must match the entire non-empty input value. For a simple illustrative pattern [A-Z]{3}, ABC fits while ABCD and AB do not.
Try a small test matrix in a form you own: the intended value, one character fewer, one more and a value with an extra space. State whether spaces should be trimmed by the application rather than assuming the browser will silently repair the answer.
Keep presence checking separate. A pattern alone is not a general replacement for required, and other constraints may also apply to the input type. The server should enforce the actual rule independently of the browser.
Most importantly, explain the expected format in visible language near the field. “Use three capital letters” is a more helpful instruction than an unexplained rejection after submission.
When reporting a problem, use a non-sensitive sample and include the instruction shown to the user. The central question is whether the visible promise and the implemented rule agree, not whether the regular expression looks sophisticated.
Illustration selected from this site’s existing collection.

