handles both JWS (3 segments) and JWE (5 segments)
remove the ending (?:(?:... to handle JWS only
segments 1+2 are expected tp start with e[yw], an encoded start of JSON object {" or {\n
remove/extend it to match used token structure
or make it even more restrictive (ey[IJ]|ewo) to match encoded {"\w or {\n"
payload (2nd segment) may be empty
both header (1st segment) and payload are expected to start with eyJ, a base64 encoded start of JSON object {"
accepts only proper Base64url encoding (RFC 4648) without Base64 padding =
test it at https://regex101.com/r/V99DS0