Nelson、Craig T. の形式の名前は、次のように分割する必要があります。
AN Nelson
FN Craig
IT C.T.
IT はイニシャルを意味します。最初のイニシャルは FN の最初の文字であることに注意してください。
正規表現にはすでにたくさんのパターンがあります。これについては、正規表現ではうまくいかないと思います。その理由は、後方参照をスライスできないからです。
import re
name = r'Nelson, Craig T.'
pat = r'([^\W\d_]+),\s([^\W\d_]+\s?)\s(([A-Z]\.?)+)\s?$'
rep = r'AN \1\nVN \2\nsf \3\n'
split = re.sub(pat, rep, name)
print(split)
生成されます:
AN Nelson
FN Craig
IT T.
理想的には、何とかして \2 をスライスし、終止符を追加して、その後ろに \3 を貼り付けます。これは正規表現では不可能であり、文字列操作を使用する必要があると思いますが、ドキュメントから推測していなかったトリックをここで学ぶのは初めてではありません。(みんなありがとう。)