ニコニコ動画 URL から動画 ID (sm, nm, so) 以下を抽出する正規表現

ランキング一覧の URL から動画 ID (sm***, nm***, so***) を抽出する Python スクリプトです。
パターン'[sn][mo]\d+' を使ってみました。

import re

urls = [
    'http://www.nicovideo.jp/watch/sm123456', 
    'http://www.nicovideo.jp/watch/nm123456', 
    'http://www.nicovideo.jp/watch/so123456', 
]

# 動画 ID をマッチング
for url in urls:
    matched = re.compile('[sn][mo]\d+').search(url)
    if matched:
        print matched.group()  # 'sm123456' or 'nm123456' or 'so123456'

このパターンだと no*** も余計にマッチングしてしまうのが難点。