文字列からscreen_nameだけを取得する


ツイートからRTのみのアカウントを取得したいです。

下記の方法でRTと空白のみを削除するようにしましたが、@mikipddw2on11の文字だけ取得するにはどのように設定すればよろしいでしょうか？  
＊ツイート

RT @mikipddw2on11: 今日の天気 #PR <https://t.covIC68vSr4545>

*RT @mikipddw2on11:の文字から始まりますが、別のツイートからRTがない場合  
今日の天気から文字はじめます。

**コード**

[code]

     a = tweet.text.replace('\n','').replace('RT ','').replace(':','').split(' ')[0]
    
[/code]

**結果**

[code]

    ['RT @mikipddw2on11']
    
[/code]




@mikipddw2on11
の部分を正規表現でマッチさせる方法があります。たとえば「`@`から始まって`:`で終わる最初の部分」としてマッチさせるのは如何でしょうか。

[code]

    import re
    
    content1 = "RT @examplename: 今日の天気"
    content2 = "今日の天気"
    pattern = re.compile('^RT (@[^:]+):')
    
    result1 = pattern.match(content1)
    
    if result1:
        print(result1.group(1))
    else:
        print("リツイートではないです")
    
    result2 = pattern.match(content2)
    
    if result2:
        print(result2.group(1))
    else:
        print("リツイートではないです")
    
[/code]

出力

[code]

    @examplename
    リツイートではないです
    
[/code]

