^ => Start of line
$ => End of line
[ ... ] => one of the character in bracket.
( ... ) => Capturing group
(?: ... ) => Non capturing group
+ => one or more time
| => logical OR
{40} => exactly 40 times , can be used to provide length
/ => escape special characters
i => case incencitive
Referance :
https://www.rexegg.com/regex-quickstart.html#chars