How does this look? (EDIT: fixed unescaped brackets)
Code:
\[(?P<author>[^\]]+)\] (?P<title>[^\]]+) \[(?P<tags>.+)\]
Matches:
Code:
[author_fn author_ln (optional_pseudonym)] title [tag1, tag2]
It assumes there MUST be a tag(s), but that can be made optional. Also, I don't know how you handle pseudonyms, but you cannot use custom columns in an Add regex

so I just matched the pseudonym in with the author name. You can fix that manually later.
More about regex, if you are interested:
http://regular-expressions.info