... and, it looks like you are trying to make that category optional. The problem with this regex is that to not specify a category, youd'd have to have two spaces and then a query. You probably want something like:

    /(douban) (?:(book|movie|music) )? (.*)/

This makes adds a space to preceeding book|movie|music, while not changing the capture group at all.