この文字列から返される可能性のある文字の範囲は何ですか?
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
-
(minus)および_
(アンダースコア)あなたの正規表現スタイルでは、それは[a-zA-Z0-9_-]
。
Base64でエンコードされた文字列には、a-z A-Z 0-9 + / =
という文字が含まれる場合があります。
右パディング=
を削除し、+
を-
に、/
を_
に置き換えます。
したがって、あなたの場合、はい、可能な文字はa-z A-Z 0-9 - _
です