正規表現パターンに該当する文字を変換する
JavaScriptのStringのreplaceは正規表現パターンも取れる
input.replace(/[A-Za-z]/g, transformLetter)
A-Za-zに一致する文字についてtransformLetter関数が呼ばれる
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace
pattern には文字列または正規表現 (RegExp) を指定することができ、 replacement には文字列または一致するごとに呼び出される関数を指定することができます。
参考:JavaScriptの正規表現
Pythonはre.subでできる
re.subには関数も渡せる!
ref: https://stackoverflow.com/a/17964739
Python's re.sub function is just like JavaScript's String.prototype.replace: