Каков диапазон возможных символов, возвращаемых из этой строки?
function base64url_encode($data) { return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); }
Мое предположение – [a-z0-9-_]
Диапазон возвращаемых символов:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
-
( минус ) и _
( подчеркивание ) В вашем стиле с регулярным выражением это будет [a-zA-Z0-9_-]
.
Закодированные строки Base64 могут содержать символы az AZ 0-9 + / =
.
Вы удаляете правое заполнение =
и заменяете +
на -
и /
с _
.
Итак, в вашем случае, да, возможные символы: az AZ 0-9 - _
Больше информации